Added cancel button to nav bar of passcode entry screen
Implement foundation of per-account passcodes.

Here's the scheme:

- The account model provides the passcode management interface.
- Accounts can have passcodes and timeouts associated with them
  - per device,
  - preserved across logins.
- During account login, the account activates the passcode in the app
  - and deactivates upon logout.
  - There is never an active passcode when no account is logged in.
- Cancelling passcode from challenge screen, while passcode is active:
  - Logs out active account
  - and removes passcode from account.
  - So user isn't locked out for forgotten passcode,
  - but intruders don't get account access by cancelling.
    - because they still have to log in to the account to access it.
  - notification of cancelled passcode is posted on next login to account

The basic facility is implemented. It builds on @devgeeks app-wide
passcode, with the account model coordinating the existing
infrastructure according to the account-specific passcode settings.

Not yet implemented: tests, the password challenge-screen cancel, and
cancelled-password notification.
Add a convenience for selecting among settings, acordinging to setting
id, for easy examination.
Implement passcode cancellation from challenge screen, including:

- removal of passcode on cancellation, so user isn't continually locked
  out by forgotten passcode
- user notification of the removal when they next log in.
Instead of removing the account's passcode when the passcode challenge
is bypassed, offer the choice of removing it on the subsequent login to
that account.

Someone who bypasses the login screen should not have the prerogative to
remove that account's passcode.  By deferring that passcode removal
option to the next login to that account, we are referring the choice to
the authenticated account owner.
Add passcode tests!

Along the way, refine some small AccountModel nits, including testing on
the result of .getLoginState(), rather than testing its existence.
Little text tweaks to make notification text fit
Merge pull request #401 from SpiderOak/issue-384-passcodes-per-user

Issue 384 passcodes per user