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.
> 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?

I tried this initially but the bootstrap receiver only starts on boot, not on application start.  So the user would need to reboot the device to get the service to start up.  In the use case where the user updated to a wear version of OBA and did not reboot, the wear service would not start up and the wear app would be nonfunctional.

Thinking about it some more I think I can do one of 2 things:
- use a WearListenerService.  Saw this in the docs but wasn't sure if it was a service intended to run on the wearable or on the device.
- Have the wearable itself send a message to the application to startup the service

Leaning towards the second option as it seems easier to implement and I'm assuming it's less subject to change since it's a more mature API.