InterfaceDevice -> Extract a method to allow overrides of sending commands to interfaces for devices.
StateDevice -> Extract method to allow devices to override setting state.
Common -> Add two new commands for Thermostats.  RUN and HOLD
HW Thermostat -> Homewerks Thermostats apparently dont have an "Automatic" mode where they can set the cool and heat as appropriate.  Its confusing as the refer to that as AUTO though it really means "RUN" the schedule.
Thermostat -> Automatically detect if the thermostat hardware doesnt support "AUTOMATIC" setting of the heat/cool mode, then lets manage this via "software" automatically instead.