Native Fast user Switching - First Pass

# Changes at a high level:

* Added ```UserAccountManager``` and ```UserAccount```. These classes contain the new APIs for fast user switching.
* Rework of the flow to add more than one new custom URL endpoint.
* Persistence changes.
* Some upgrade steps.
* ```PasscodeManager``` changes.
* Upgrade paths from older versions.
* Unification of passcode across orgs, and re-encryption of data when the PIN policy changes.
* Storage path tweaks.

# Outstanding items:

* Some more upgrade steps.
* Change passcode flow for orgs with different policies.
* Fixing existing tests.
* Adding new tests for multiple users.