Translation update

Added the missing strings and fixed the current.
Merge pull request #539 from yarons/patch-2

Update Hebrew translation (@yarons)
Change Intent string into more "Android" way
Merge pull request #540 from tamcap/changeIntent

[minor] Change Intent string into more "Android" way (@tamcap)
sync zh-CN translations with en-US strings
Merge pull request #541 from l-hedgehog/zh-cn

Update zh-CN translation (@l-hedgehog)
Added some Norwegian transport SSIDs
Merge pull request #544 from JensErat/norway-transport

Added some Norwegian transport SSIDs (@JensErat)
Add more on-vehicle SSIDs to the block list

Added SSIDs for:
* Barcelonabusturistic.cat touristic buses
* Flygbussarna.se buses
* National Express coaches
* Oxfordtube.com buses
Update Hindi Translation
Update Marathi Translation
Merge pull request #543 from Rondom/ssid-blocklist

Add more on-vehicle SSIDs to the block list (@Rondom)
Merge pull request #550 from vinitraje/master

Updated Marathi & Hindi translation (@vinitraje)
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.