Insteon::Message add flag to allow crc16 bytes to be inserted

There is little rhyme or reason as to which packets need to have crc16 versus checksum bytes.  As such, it seems like the proper way to note when a crc16 message should be inserted is by use of a flag.
Merge branch 'insteon_crc16' into insteon_thermo_i2
Modify list_groups_by_object to allow for non-recursive listing

list_groups_by_object identifies all of the groups that an object is a member of.  Currently, if an object is a member of a child group, the child and parent group will be returned in the list.

This change allows for only the groups which the object is a direct member of to be returned.
Insteon::Thermo_i2 Save and Restore Humidity State
Insteon::Thermo_i2 Add Status Message Types
Insteon::Thermo_i2 Add subs to interpret status mode and temp

Insteon is so annoying, why can't it pick a single format for the same data?

Anyways, temp in status message is tempx2, instead of long temp form.

In addition, for reasons beyond comprehension, the mode in a status message conveys the same data, but uses a different flag than a extended get response.  So stupid.
Insteon::Thermo_i2 add steps in _process_message to catch and process status messages