Issue 181 wear support

@barbeau This is getting quite large so I figure I'll take a break and get some feedback.

I would like to get an app on the wearable which has 2 use cases:
1.  Browses starred stops.
2.  View ArrivalInfo for a stop.

Designwise, I created a long running ```NodeService``` on the device which is the sole interface for the wearable to the Oba data.

The wearable fires messages to the ```NodeService``` to request data synchronization updates.

The NodeService will then update the Wearable datastores with the requested data updates via Wearable.DataApi calls.  The source of these data updates can be direct calls to the ObaApi or data from the ObaProvider, depending on the use case requirements.

For now I've only implemented the first use case of retrieving Starred Stops.

Implementing a polling ArrivalInfo hook into the NodeService would be next on my agenda.

I tried to document any areas I feel required extra inspection with todo tags.
@pohh just to make sure I have this right - here's my understanding of the general Wear lifecycle:

* User must start the oba-android app at least once to start the `NodeService` service.  After this, `NodeService` will continue to run indefinitely in the background, even when the oba-android app is not running.
* When the user interacts with the oba-wear app (running on the Wearable), oba-wear passes messages to the `NodeService` in oba-android to fetch starred stops and trigger API calls, which passes the resulting data back to oba-wear.

Is the above generally correct?  If so, I guess `NodeService` would need to be setup to run on device boot as well, perhaps within `BootstrapService`?