Bug 981727 - Part 1: Centralize key generation and serialization in StateFactory.

This is still awful, but at least it's one place to update instead of
several.
Bug 981727 - Part 2: Prepare for State version bump.
Bug 981727 - Part 3: Bump State to version 2.

V2 is identical to V1, except that all V2 key pairs are DSA, where-as
all V1 key-pairs are RSA.  We migrate existing serialized State objects
when they are de-serialized; a subsequent write will write the current
version (with the migrated values).
Bug 981727 - Part 4: Add logging to StateFactory.migrateV1toV2.
Bug 981827 - Make Android and Desktop FxAccounts client use same key parameters. r=rnewman
Bug 967333 - Request sync when entering and leaving ConfirmAccountActivity.

This is the best we can do short of polling during the activity.  I
think if we are polling, we are honour-bound to show UI to indicate as
much to the user, and possibly let them control the poll.  Since we're
not going to land new UI for this now, the implemented solution will
have to suffice.
Bug 967333 - Request sync when entering and leaving ConfirmAccountActivity. r=rnewman
No bug - Import current Fennec files.
Bug 970176 - Pre: import LocaleManager.java into the repo.
Bug 970176 - Pre: add stub BrowserLocaleManager.
Bug 970176 - Part 1: add LocaleAwareActivity.
Bug 970176 - Part 2: prepare locale in Product Announcements.
Bug 970176 - Part 3: prepare locale in Health Report document generation.
Bug 970176 - Part 4: make FxA accounts locale-aware.
Bug 970176 - Part 5: prepare locale prior to showing a sent tab notification.
Bug 970176 - Part 6: make Send Tab activity locale-aware.
Bug 970176 - Invoke LocaleManager locale switching code prior to handling strings or Locale in background services. r=nalexander
Bug 990130 - Fall back to full path of library on failure. r=mfinkle
No bug - Part 1: Avoid warning messages when landing res/values*.

This also asserts that the android-sync repository owns sync_* and
fxaccount_* in mobile/android/base/resources/values*; that is, files not
managed by the android-sync repository that match the glob will be
deleted.
No bug - Part 2: Make android-sync own its source directories in mozilla-central.

That is, files not managed by the android-sync repository that match the
source files glob will be deleted.  Remember to use |hg addremove| to
commit added and removed files to mozilla-central!