Bug 1108771 - Part 1: Prompt for which application to bootstrap. r=gps

This lays the foundation for adding support for bootstrapping
mobile/android.

* Queries for which application to bootstrap, currently browser or
  mobile/android;

* Adds call to install_APPLICATION_packages after
  install_system_packages;

* Adds call to suggest_APPLICATION_mozconfig after bootstrapping
  everything;

* and splits install_browser_packages out of install_system_packages
  throughout (essentially untested, but generally simple).

To implement a new application (b2g?), just add it to the list of
applications and implement install_b2g_packages throughout.

--HG--
extra : rebase_source : 8c9b4485dbe5ceb64436fd73ea0258592a2b818f
Bug 1108771 - Part 2: Implement |mach bootstrap| for mobile/android on Debian-like systems. r=gps

This adds a generic android Python module that handles:

* downloading and unpacking Google's Android SDK and NDK bundles;
* using the |android| tool to install additional Android packages;
* printing a mozconfig snippet suitable for mobile/android builds.

--HG--
extra : rebase_source : abaffcee70eacb391f53d622fba4a445277818db
Bug 1108771 - Part 3: Factor _ensure_*_packages out of OS X bootstrapper. r=gps

This prepares the way for implementing install_mobile_android_packages
on OS X.

--HG--
extra : rebase_source : b52b7080f857e351e71f169f09a42dfd61b43a43
Bug 1108771 - Part 4: Implement |mach bootstrap| for mobile/android on OS X with homebrew. r=gps
Pushing on a CLOSED TREE because this is NPOTB.

The custom brew formula is a lightly edited version of an earlier
revision of brew's android-ndk.rb.  It's not clear that using a custom
brew formula for the Android SDK version r8e is better than using the
existing android Python module for installing the SDK and the NDK, but
it's done now and works locally.  If we really wanted to avoid shipping
it, we could probably arrange to land it in
https://github.com/Homebrew/homebrew-versions.

I see no easy way to install the Java 1.7 JDK with macports, so in the
spirit of the good now being better than the perfect later, I've
punted.  (I don't see an Android NDK package either, but that
functionality exists in Python.)  Patches wanted!

--HG--
extra : rebase_source : d3ca836951b05eb30fabc17e523676d31c1ec0ef
extra : amend_source : d34e9eb5cd840b827a7ce65a0d22c1c275efff09
Bug 1102604 - SysInfo.getLocale() is wrong. r=mcomella
Bug 1109361 - Handle empty files when loading ProfileInformationCache. r=mcomella
Bug 1115075 - Part 0: rename HistogramAdd -> addToHistogram. r=mfinkle
Bug 1115075 - Part 1: add telemetry for DBUtils.ensureDatabaseIsNotLocked. r=mfinkle
Merge m-c to fx-team a=merge CLOSED TREE
Bug 930808 - Upgrade virtualenv to 12.0.2; r=glandium

Source archive downloaded from
https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.2.tar.gz
and uncompressed into python/virtualenv. The egg-info directory was
removed.

--HG--
extra : rebase_source : e96572c694b2e780ed143a08b3c6670273a39fdb
extra : histedit_source : 17d490c968fdadd4dacad3b880bfcb1fc7b3e148
Bug 930808 - Upgrade to psutil 2.1.3; r=glandium

psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : rebase_source : 90b02e514e5dd1249d97d83223ef8fcf20c9da94
extra : histedit_source : 2e96344e1796b6156ccf279684687b2e8995be92
Bug 1075558 - Fix Notifications.unregisterHandler. r=mcomella
Backed out changeset 697eb6db7d96 (bug 930808) for OS X make check failures
Bug 930808 - Catch all exceptions when importing psutil; r=glandium

This is the same workaround applied in 7be399d00f9a (bug 908296). It
should stop |make check| from complaining on OS X.

--HG--
extra : rebase_source : 7cf18c8261d375437187a1c256b0b7f8ae0cbb30
extra : amend_source : 952eef1f385962005833c12f643ebb5ea02c93f3
extra : histedit_source : 285bda4330b2997afcc048ecc81f84173d422582
Bug 930808 - Upgrade to psutil 2.1.3; r=glandium

psutil 2.1.3 is replacing psutil 1.0.1. There are numerous bug fixes and
feature enhancements in psutil worth obtaining.

Source code was obtained from
https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz and
uncompressed into python/psutil without modification except for the
removal of the egg-info directory and the .travis.yml file.

--HG--
extra : source : 697eb6db7d96dc21e817cd27a7e46ed4ab00f9bb
Bug 305085 - add a test for beforeunload uses, r=jaws

--HG--
extra : rebase_source : 56f5d53be23a811d9a5eeec68a089824f538942b
extra : histedit_source : af42dfab71d3c56a54ff337b0c02e05dde856572
Bug 305085 - fix permitUnload usages in tab/window closing so we never show a permitUnload twice for the same page, r=jaws

--HG--
extra : rebase_source : 29d6d43e3ee8d831b3debc97a1e12c422e5c0bb8
extra : histedit_source : cd3004e8f6da17acb8af122b0755bf85e3d8fb0c
Backed out changeset 618a0ea01af9 (bug 305085)
Backed out changeset c8f1dab5c9e5 (bug 305085)
Bug 1079303 - fix popupnotifications.jsm to not hide its async-ness and immediately dismiss open notifications when another anchor is clicked, r=dolske