Introduce StumblerService.

The StumblerService runs in the application's process and
does not contain the notification / low battery bits.
Remove mLooper from the service.

It looks like the only reason why it was being used was so that
date synchronization could happen in a separate thread. Ever since
we started using a sync adapter, this is no longer a concern.
Use a dedicated receiver for turn off intents.

This is so that mTurnOffReceiver doesn't leak while the app
is in the background.
wip Split reporter in two.

The current Reporter is responsible for syncing the scanner streams,
and actually formatting and uploading data. The first task will in
the future yield a StumblerBundle, which is broadcast by the library,
so that the application can take care of the second task.
Make StumblerBundle Parcelable.
Format StumblerBundles as MLS json objects.

TODO: integrate this with the ContentProvider.
Store StumbleBundles in the ContentProvider.

This moves the code that creates a ContentValues object out of the
Reporter and into the MainActivity. When a StumblerBundle is ready,
the library will broadcast it to the MainActivity, which will turn
it into a JSON object and store it into the ContentProvider to be
sent later.

Known bugs/FIXMEs:
- Relying on MainActivity to receive a broadcast is wrong, as the
onStop() method unregisters the activity from all broadcasts. There
should be a separate BroadcastReceiver that registers via the manifest
for this.

- The SyncAdapter still knows about the format of the JSON the server
expects, since it needs to wrap a bunch of (JSON representations of)
StumblerBundles into one wrapper object and an "items" array before
uploading. We should at the very least provide a helper method for
that in the library: StumblerUtils.formatForMLS(StumblerBundle[]).

- The location data goes through some seemingly redundant conversions
before being uploaded. Basically a StumblerBundle reaches MainActivity,
which converts it to JSON, then inserts the individual fields of the
JSON object into the ContentProvider (wifi and cell information are
simply stored as JSON strings), from where the SyncAdapter reads them
and converts back do JSON. It's probably possible to just store a JSON
string in the ContentProvider instead.
Move StumblerBundle processing into its own broadcast receiver.
clean up imports: alphabetize, remove spaces, remove use of *, remove unused imports
Code Cleanup.
-  Removed unused ScannerService.

- Refactored the use of generic intent messaging to specific message
  actions, namespaced to their sending class.

- Cleanup naming conventions for Intent arguments. Added consistency to
using string constants for Intent arguments, rather than mixing strings
and string constants in the same block of code.

- Renamed messages to be clearer about their actions, based on what I
  can see the code is doing, specifically MainActivity ACTION_UNPAUSE_SCANNING
Service/client split, the service folder will become the lib that goes in fennec
Added comment to TurnOffReceiver regarding how to test it
Also remove the aidl and manifest entry for ScannerService.
Move StumblerBundleReceiver inside the service.
Prefs moved into service. Accessed through StumblerService by the client code.
Addressing items from Guilherme's review. Note I left the BuildVersion in the service, as I see it belonging there. Arguably, there should be 2, one for client and one for service, but service version is the most important that I can see.
Further split of client and service with some files we hadn't decided on previously.
StumblerBundleReceiver was not properly hooked up, fixed this connection, and stumbled for an hour with this build, seems stable.
Lint error on a debug-only build line
Merge pull request #623 from garvankeeley/rebase-2

Service/Client Split