Change OpenSpatial interface

This diff does the following:
1. Introduce a communication channel between the library and the caller. This
   is the OpenSpatialServiceCallback interface. Currently it has only the
   deviceListUpdated callback. In future it will have callbacks for events like
   registration status, configuration changes etc.

2. Change getConnectedDevices() to use this interface

3. Add a jar with this change to release/

4. Change the OpenSpatial example app to use this new interface

Change-Id: I7b1fdd5aea1063c23c43789de9fa5e50ed4b306c
Reviewed-on: https://r.enimai.com/2182
Reviewed-by: Srinivasan Sridharan <srini@enimai.com>
Tested-by: Rahul Iyer <rni@enimai.com>
Register for events as needed from the SDK

Change-Id: Ie61cfa1f3dc8556dc54c2d9d27441f5cef38146f
Reviewed-on: https://r.enimai.com/2201
Reviewed-by: Srinivasan Sridharan <srini@enimai.com>
Tested-by: Rahul Iyer <rni@enimai.com>
Replace CONNECTED_DEVICES intent with DEVICE_CONNECTED intent

This intent will be sent multiple times as a result of getConnectedDevices().
This will also be called when new devices are connected to the system.

Change-Id: Ic997f4995c402f1b5a460774d7f319b2a755e727
Reviewed-on: https://r.enimai.com/2209
Reviewed-by: Srinivasan Sridharan <srini@enimai.com>
Tested-by: Rahul Iyer <rni@enimai.com>
Add color change on click

Change-Id: I3efb4f10eab4d796c71346e7a6e0df7e325fe0d1
Reviewed-on: https://r.enimai.com/2235
Reviewed-by: Srinivasan Sridharan <srini@enimai.com>
Tested-by: Rahul Iyer <rni@enimai.com>
Add OpenSpatialErrorCodes file

Change-Id: I1d3144a7ca369d41b0ad43787f0f0ba107bce1fd
Reviewed-on: https://r.enimai.com/2236
Reviewed-by: Rahul Iyer <rni@enimai.com>
Tested-by: Rahul Iyer <rni@enimai.com>