Insteon: Change "initiate linking as controller" Group to 00

I was having issues where some sort of corruption within the PLM was causing it to send messages to the 01 group, very annoying.

HouseLinc uses 00, plus the insteon documents seem to envision that 01 is a valid group that could be used for other purposes.

Group 01 links will not be deleted by delete_orphans to prevent causing issues for other users.
Do Not Move Tabbed 'Add' Entries in User Code to Global Declaration

Misterhouse merges all of the User Code files into a single file at runtime.  When merging the files, MisterHouse moves certain commands and declarations to the top of the merged file.  The purpose is to allow these "global records" to be defined early on, to avoid errors.  They include variable instantiaions and other routines.

In order to avoid moving lines which are meant to be part of a subroutine or logical statement, MisterHouse will only move theabove "global records" if they occur at the start of a line.  The thought being that coders practicing even the most basic level of standard formatting will indent statements inside of logical routines or subroutines.

The one exception to this rule is the add statement. This is generally used to add an item to a group, but a few other items have add functions as well, notably the Process_Item.

For some reason, MisterHouse will allow anywhere from 0-3 whitespaces to proceed the add statement while still considering it to be a "global record"

This is somewhat logical in that tabs are usually at least 4 spaces.  But it is unclear why this exception only applies to add functions, and not to the other functions as well.

Eitherway, a white space in perl is defined as [\ \t\r\n\f].  [\r\n\f] are unnecessary, since they would be interpreted as a newline.  The problem arose by including [\t].  In so doing, MisterHouse was moving add functions which were tabbed in 3 times.

By changing this to simply [\ ] the code at least does what the author originally intended it to do.  I think the odds that this change would cause an error for any currently existing user code files is small, but there is some remote possibility that it might.

Personally, I think the spacing should be removed entirely, but I am hesitant to change a function that is so fundamental to MisterHouse.
Add some clarity to the I2CS device is not linked error message, teling us WHICH device.
Allow for State of 0

Fixes two things:
- Allows for a State of 0 to be recorded in the state log
- Allows for a State of 0 to be displyed through the web interface rather than N/A

Both issues arise from the use of conditional statements such as:
```
if($state){...}
```
rather than using
```
if(defined($state)){...}
```
As a result a state of 0 was always ignored.
Merge pull request #217 from krkeegan/insteon_linking

Insteon: Change "initiate linking as controller" Group to 00
Merge pull request #244 from krkeegan/user_code_fix

Do Not Move Tabbed 'Add' Entries in User Code to Global Declaration
Merge pull request #256 from pmatis/Insteon_Clarity

Insteon clarity
Merge pull request #259 from krkeegan/Zero_State

Allow for State of 0
Add PA zone type of 'object', clean up code, enhance to allow for mixed zone types, tested X10, xPL, xAP, object and wdio. xPL and xAP were only tested to send to the designated IP address - verified with netcat on target computer.
Clarify usage of zones of type object.
Imporove logging and add debug levels.
Initial addition of Audrey aupport