Insteon_Remotelinc: Added Ability to Set Awake Time and To Request Battery Status

The following likely only works for i2cs devices, I think all Remotelinc 2 devices are i2cs?  It at least works on rev 1.4.

- set_awake_time sets = sets the time in seconds that the remote will remain awake after sending a command.  The default is 4, it can be set up to 254 seconds, with 255 being always awake.

- get_extended_info = is primarily added to get the battery level.  Battery level is returned as a byte, but the number does not immediately make sense.  I will have to let the batter run down some to better understand what it means.

At the moment, I have the code set to call get_extended_info whenever the all_link_report is received.  This report represents the last message sent by the device before the awake time begins to run.  In the future, an additional function can be added to only call get_extended_info if it hasn't been called in x hours.

N.B. in order for set_awake_time to work properly, the engine version of the device must be known.

hollie/misterhouse#172
Insteon_RemoteLinc: Add Perl Documentation
Insteon_RemoteLinc: Add Set Battery Timer
Insteon_RemoteLinc: Add Check for If Battery Timer Expired
Insteon_RemoteLinc: Cleanup Battery Timer
Insteon_RemoteLinc: Add the Low Battery Level Indicator
Insteon_RemoteLinc: Add Set Low Battery Event
Insteon_RemoteLinc: Add Eval to Battery Low Level Event
Insteon_Remotelinc: Change Battery Level to Volts; Cleanup Coding Errors

I think that the battery level is reported is volts * 50.  Online it lists the battery voltage as 3.7 and I am getting numbers like 177 right now.  Finally, one stray comment from Insteon suggested that they believe 0xA3 or 163 to be the low voltage warning level.
Insteon_RemoteLinc:  Add RemoteLinc_Battery Object

This is a generic object that is "tied" to the battery events in the parent RemoteLinc.  It can be used to display the battery voltage on the RemoteLinc on the MH web page or to directly tie events to rather than using the low_battery_event code.
Insteon_RemoteLinc: Make Battery Parent is the Root Item
Insteon_RemoteLinc: Remove Low Battery and Event Routines

No need to reinvent the wheel, low batter events can be tracked using the child objects and tied events
Insteon_RemoteLinc: Fix Typos
Insteon_RemoteLinc: Only Send Battery Request Once

If the device doesn't hear the first request, it won't be awake to hear subsequent ones.  Sending subsequent messages only slows things down.
Merge branch 'master' into insteon_remotelinc
Merge branch 'insteon_retry_count' into insteon_remotelinc
Insteon_RemoteLinc: Cleanup Documentation
Merge branch 'master' into insteon_remotelinc
Merge pull request #207 from krkeegan/insteon_remotelinc

Insteon: Update Support for RemoteLinc