CT80 Rev B2 v1.03 support and other enhancements

Added support for my CT80 ('CT80 Rev B2 v1.03') and added some API calls which I find useful.

Made two new classes, CT30 and CT80, which all the specific model classes are based on. As far as I know, the 3M-50 (aka CT50) is functionally the same as the CT30, which is why the CT50 models are all based on CT30. If my assumption's wrong, please let me know!

Added these attributes:
* **it_heat** - Sets the heat setpoint without messing up your set tmode
* **it_cool** - Sets the cool setpoint without messing up your set tmode
* **night_light** - Sets the night light intensity. Reading this will show the last-set non-zero intensity even when it's off, though.
* **swing** - How far from set point before heating/cooling kicks in (only available on CT80 Rev B)

These commits pass all the current unit tests and all GET operations seem to work properly.