This allows the user interface to declare their own settings backend. There's
some minor duplication between finch and pidgin for this, but this means the
test ui can use a memory backend instead of something on disk.
Testing Done:
Ran the unit tests multiple times and verified that the credential manager test stops messing up everything else.