Added startForeground to VehicleService
Better lifecycle management of VehicleService and VehicleManager
Added logging to stopService calls.
Merge remote-tracking branch 'nathorne/master' into 59-foreground
Change wording of service notification.
Replaces tabs with 4 spaces.
Don't bother supporting Android API level 5 - drop support package.
Wrap some lines at 80 chars.
Revert "Don't bother supporting Android API level 5 - drop support package."

This reverts commit 4caecd7f47532f98e30d6f3d240a9411287b8911.
Add Android support library to Maven build via the SDK deployer.
Remove an unused import and organize the remaining imports.
Remove and unused warning supression.
Work around a bug in the Android testing framework for services.
Move responsibility for wake locks to the VehicleService.

This also makes the WakeLockManager robust to acquiring a lock multiple
times.
Move the VehicleService to foreground based on pipeline activity.

Fixed #62.
Remove extra call to BluetoothVehicleInterface.stop().
Make data sources "disconnected" by default to keep pipeline alive.
Make sure to mark source disconnected before removing the callback.

Otherwise the callback can't be notified that we disconnected!
Break out of a possible infinite loop with invalid JSON.

I think this may have been the root of many odd Bluetooth problems. In
some cases, we could load a partial message as JSON but it would have
corrupted field names, and at some point the "field" in this function
would be null and we would loop forever. I noticed this because when
testing the foreground service notification, I was not getting the
"disconnected" callback from the BT data source if I unplugged the VI
abruptly.