Nest: First Draft of Nest Support

- Adds read-only support for Nest Thermostats
- Very little documentation
Nest: Move Get_Value into Nest_Child

This will make it usable on both structures and smoke detectors

Change device_id so it checks the name of parent, unlikely that device-children will need to get their IDs but this way it will work as expected.
Nest: Add Support for Smoke/CO Alarm

- Still very little documentation
Nest: Add Support for Structures
Nest: Add Base Function for Sending Data to Nest

Rearrange url and auth parameters
Nest: Add High Level Commands to Set Nest Values
Merge branch 'master' into Nest
Nest: Make Child Objects Writable

Including tracking setby and response variables
Nest: Add Massive Amount of Documentation
Nest: Add Auth Ini Parameter; Reorganize Connect_Stream
Nest: Change from Passing a Scalar to a Code Ref

Eval is heavily frowned upon.  It is hard to create a nice scalar command, plus the error messages are often unhelpful.

Using Code References is much easier and possibly allows for greater functionality as it can run on non-global objects.
Nest: Change Nest_Child to Nest_Generic

Much less confusing name
Nest: Fix some Tab/Space Errors
Nest: Avoid Blocking on Stream Connection; Remove Calls to Die

- This adds a reconnect timer that prevents hammering the Nest server with reconnect attempts
- Add readable error messages if something goes wrong
- Completely disable interface if we receive an error that demonstrates that we will never be able to connect

Fixes krkeegan/misterhouse#24
Partially Fixes krkeegan/misterhouse#26
Nest: Move Write Data to a Process Item; Check Write Response

This will prevent the write action from blocking if there is a delay connecting to the Nest server.  The write process is a little complicated but should be very robust, it can handle queuing multiple write commands at once.

Added a simple check of the write response, will now print an error message if the response is not OK.

Fixes krkeegan/misterhouse#27
Fixes krkeegan/misterhouse#26
Nest: Convert Print Logging to Debug Format

- Added a nifty debug routine that unifies the creation of uniform print_log messages

Fixes krkeegan/misterhouse#25
Nest: Allow for Multiple Pending_State; Add Interface as Setby for Startup

Fixes krkeegan/misterhouse#28
Nest: Add Notes on Creating and Adding to Groups
Merge pull request #451 from krkeegan/Nest

Add Support for Nest Devices