Add AccountModel tests that exercise (not-yet-implemented) facility for
interrupting login while it is happening.
Implement login interruptability:
- new AccountModel model variable "state" reflects the current login
  state, including distinguishing between in-process and settled login
  - false: not logged in
  - true: logged in
  - "in-process": login dance is happening
  - "interrupting": login dance is being interrupted
- AccountModel.getLoginState() - return the current state.
  '.getLoginState() === true' replaces what formerly was conveyed by the
  model attribute .isLoggedIn.
- AccountModel.setLoginState(state) - register the current state
- AccountModel.doInterruption() - internal routine that sets up the interuption
- AccountModel.interruptLogin() - external routine to invoke login interruption
Make adjustments for the new facilities for assessing login state.
"After" isn't quite right.
Add a bit more login-state stuff, so we can hookup the back button to
interrupt while in-process. Doesn't yet work (and there's a surprising
test result, so I'm eliding the test for examination after a nap (-: ).
Affirm that AccountModel state is "in-process" while login is
in-process.

(We have to specifically check the status just on the URLs we know are
part of the login process, to avoid accumulating state for responses to
incidental activity, like SpiderOak hive...)
Continue backbutton hookup, this commit includes debugging provisions
that deliberately cause malfunctions, including tests, and must be
removed before pull.

The problem this demonstrates is that programmatic triggering of the
"backbutton" event is *not* causing app.js onBackKeyDown() to fire, as
it should, on my Nexus 7. However, the same contrivance is achieving the
intended effect on the desktop (security-inhibited) browser.
Try $(document).on.
The artificial backbutton trigger doesn't actually work on
Android. Removing it and other debugging.
Merging branch 'master-ios-integration-branch' into issue-227-login-backout-merge-test

Resolved conflicts in tpl/menusheetTemplate.html, including
incorporation of Tommy's iOS CSS changes and also my interruptible login
stuff.

Resolved conflicts in tests/models/AccountModel.js, but still working on
re-integrating my interruptible login changes.
Rectify the remaining tests that fail due to addition of the
cache-buster string.

Also, return 'client should fail login with case-altered username' test
to properly expect 403, SpiderOak's "authentication failed", as well as
providing for the cache-busted target URL.
Remove accidental (not-quite-)duplicate menusheet "Log in" stanza.
Make current: Merge branch 'master' into issue-227-login-backout
Inhibit posting an error dialog for interrupted authentication.
Migrate obsolete .isLoggedIn model value in prior versions of
AccountModel to new .state, so logins remembered across the version
transition are properly handled.
Merge branch 'master' into issue-227-login-backout

This makes the branch once again ready to merge.

Resolved Conflicts:
	src/views/SettingsView.js
(Also wrapped a bare, single-line conditional body in curly braces,
wrapping a long line in the process.)
Merge pull request #380 from SpiderOak/issue-227-login-backout

Issue 227 login backout