db_settings bug fixes & unlock_db redesign (w/ my fixup)
Continuation of https://gitlab.gnome.org/World/PasswordSafe/-/merge_requests/566.
This turned into a bit of a rabbit hole, which required some changes in unlock_database. Since that code was full of little issues I decided to simplify it by removing the stack and handling it as a single case, this has been discused many times.
Ref: https://gitlab.gnome.org/World/PasswordSafe/-/merge_requests/558