Bug 827157 - Part 1: Robust and performance sensitive recording of sessions; r=rnewman, a=bajaj

We have introduced a new background service that captures session state
in preferences. Firefox Health Report now moves entries from preferences
to its database at payload generation time.

We've also introduced a few random APIs, such as enqueueTransaction()
and the ability for providers to have access to their own pref branch.

--HG--
extra : rebase_source : 1f6002eb2b1e8c8c9d0c8cbc2c5370f28f2ed809
Bug 827157 - Part 2: report current session information. r=rnewman, a=bajaj

The previous patch regressed this because HealthReporter was talking
directly to storage instead of going through the measurement instance.

--HG--
extra : rebase_source : 453c310b439f28e356ba5d58b1aa0c272b85dd0e