Insteon_IO: Add Initial Code for IO Library

Contributed by John Pellegrino <jpellegrino8@gmail.com>
Insteon_IOLinc: Change Library Name to IOLinc
Insteon_IOLinc: Modify Poll Sensor Status to Allow for Multiple Sensors
Insteon_IOLinc: Remove Unnecessary Variable from set_relay Subroutine
Insteon_IOLinc: Store Sensor Value as HEX not Decimal
Insteon_IOLinc: Add Perldoc Comments
Insteon_IOLinc: Add Ability to Store Multiple Sensor Values
Insteon_IOLinc: Add Ability to Retreive Sensor Data From Multiple Sensors
Insteon_IOLinc: Use $msg{extra} not $val in is_info_request
Merge branch 'master' into insteon_iolinc
Insteon_IOLinc: Set Awaiting Ack Flag for IO sensor_status Request
Insteon_IOLinc: Rename IO to IOLinc; Add Read Table Entry
Insteon_IOLinc: Fix Inheritance Order
Insteon_IOLinc: Completely Revamp IOLinc Class

The sensor is a seperate "group" item on the device, it is capable of having its own links and will send alllink broadcasts when it changes state.  Therefore, the sensor should be defined as a seperate object.

The code as committed works, to get the status of either object simply call request_status() on the relevant object.

ToDo:
- Add voice commands for the sensor
- Add the ability to set the few bits that exist
Insteon_IOLinc: Add Functions to Set Various Bits
Insteon_IOLinc: Add Additional Notes to Settings
Insteon_IOLinc: Add Message Types and Operating Flags

Made operating flags similar to message types in that they can be individually set for each class.
Insteon_IOLinc: Add Set and Get _Operating_Flags to Awaiting Ack

Both requests need to be acknowledged.
Insteon_IOLinc: Make Operating Flags Class Extendable

Allow each class to set its own flags.
Insteon_IOLinc: Make Operating Flags Extendable into Each Class