Binding for MiOS (Vera) Automation controllers

This binding exposes read, and read-command, access to Devices controlled by a MiOS Home Automation controller, such as those seen at http://getvera.com.

It exposes the ability to do the following things in the MiOS HA Controller
* `Devices` - Read State Variables & Device Attributes, and invoke (single parameter) UPnP Commands to control the Device.
* `Scenes` - Read the current execution state of a Scene, and invoke those Scenes within the remote HA Controller
* `System` - Read System-level Attributes.

It uses the _remote control_ interfaces (aka "UI Simple" JSON Calls, and HTTP Long-polling) of the MiOS HA Controller to keep the _bound_ openHAB Items in sync with their counterparts in the MiOS HA Controller.

The "guts" is outlined in the root-level `README.md` file, along with the JavaDoc that's in the code (although, the `README.md` is better).  

The binding uses the openHAB _Transformation Service_ extensively to "map" the Data & Commands between the two systems.  I provide a set of example MAP transform files in the `examples/transform` directory of the Binding, but these can readily be augmented without needing to tweak the code.

Original code was used from the XBMC Binding, and then heavily modified.  Snippets included from the HTTP Binding for the various datatype mapping functions.

Submitting for early feedback, there will probably be a lot since it's my first binding  ;)
Defaulting has been added, for the _in_ / _out_ / _command_ parameters, for the most common cases.

For Devices, this means the following UPnP StateVariable usages will have default parameters applied if none are specified in the user's Binding string:

State Variable / Attribute  | Default Parameters
--------------------------- | -------------------
<tt>service/urn:micasaverde-com:serviceId:DoorLock1/Status</tt> | <tt>command:MAP(miosLockCommand.map)</tt><br><tt>in:MAP(miosSwitchIn.map)</tt><br><tt>out:MAP(miosSwitchOut.map)</tt>
<tt>service/urn:watou-com:serviceId:Nest1/status</tt> | <tt>in:MAP(miosContactIn.map)</tt><br><tt>out:MAP(miosContactOut.map)</tt>
<tt>service/urn:upnp-org:serviceId:RenderingControl/Mute</tt>  | <tt> command:MAP(miosUPnPRenderingControlMuteCommand.map)</tt><br><tt>in:MAP(miosSwitchIn.map)</tt><br><tt>out:MAP(miosSwitchOut.map)</tt>
<tt>service/urn:micasaverde-com:serviceId:SecuritySensor1/Armed</tt> | <tt>command:MAP(miosArmedCommand.map)</tt><br><tt>in:MAP(miosSwitchIn.map)</tt><br><tt>out:MAP(miosSwitchOut.map)</tt>
<tt>service/urn:micasaverde-com:serviceId:SecuritySensor1/Tripped</tt> | <tt>in:MAP(miosContactIn.map)</tt><br><tt>out:MAP(miosContactOut.map)</tt>
<tt>service/urn:upnp-org:serviceId:SwitchPower1/Status</tt> | <tt>command:ON/OFF</tt><br><tt>in:MAP(miosSwitchIn.map)</tt><br><tt>out:MAP(miosSwitchOut.map)</tt>
<tt>service/urn:upnp-org:serviceId:Dimming1/LoadLevelStatus</tt> | <tt>command:MAP(miosDimmerCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:TemperatureSetpoint1_Heat/CurrentSetpoint</tt> | <tt>command:MAP(miosTStatSetpointHeatCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:TemperatureSetpoint1_Cool/CurrentSetpoint</tt> | <tt>command:MAP(miosTStatSetpointCoolCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:HVAC_UserOperatingMode1/ModeStatus</tt> | <tt>command:MAP(miosTStatModeStatusCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:HVAC_FanOperatingMode1/Mode</tt> | <tt>command:MAP(miosTStatFanOperatingModeCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:RenderingControl/Volume</tt> | <tt>command:MAP(miosUPnPRenderingControlVolumeCommand.map)</tt>
<tt>service/urn:upnp-org:serviceId:AVTransport/TransportState</tt> | <tt>command:MAP(miosUPnPTransportStatePlayModeCommand.map)</tt> 
<tt>status</tt> | <tt>in:MAP(miosStatusIn.map)</tt> | 


For Scenes, it looks like:

State Variable / Attribute  | Default Parameters
--------------------------- | -------------------
<tt>active</tt> | <tt>in:MAP(miosSceneActiveIn.map)</tt>
<tt>status</tt> | <tt>command:</tt><br><tt>in:MAP(miosStatusIn.map)</tt>


The same mechanism exists for System attributes, but there are currently no default values there.



This is all implemented via a set of device/scene/system.properties files, so it can readily be added to, just like the Transformations themselves.