Fix for Issue #64
Add logic to process the PLM command "user reset to factory defaults".  Also added log message if other unknown PLM commands show up.
update_link not being triggered by a change in ramp rate
Fixed typo where != was used for string comparison rather than ne
PLM aldb not marked healthy
Update so that adding a link to an empty PLM aldb marks the status as healthy vs. empty.  Also add inuse flag so save/restore will keep the entry.
Callback switches back to wrong name space
package Insteon::Insteon_link should be package Insteon::BaseController in Insteon::BaseController->_process_sync_queue()
Syntax error, missing semicolon, in Insteon_PLM->_parse_data() for X10 received
I'm not sure how that code ever worked.  Probably only worked if debug=insteon >= 3!
Cleaned up some logging and renamed PLM "log links" for consistency
Renamed PLM "show link table to log" as "log links" to be consistent with devices
Improved the amount of information supplied by existing logging messages.
Added "{devicename} completed sync links" message
Changed "PLM" NACK warning so it doesn't reference burned out bulbs which only apply to "device" NACKs.
Fixed spelling errors in MessageDecoder.pm and added better decoding of cmd2
Cleaned up some logging and renamed PLM "log links" for consistency
Second try to rename PLM "show link table to log" as "log links" to be consistent with devices
Merge pull request #66 from mstovenour/fix_ramprate_update

update_link not being triggered by a change in ramp rate
Merge pull request #68 from mstovenour/fix_plm_aldb_health

PLM aldb not marked healthy
Merge pull request #69 from mstovenour/fix_wrong_namespace

Callback switches back to wrong name space
Merge pull request #70 from mstovenour/fix_x10_reception_bug

Missing semicolon in Insteon_PLM->_parse_data() for X10 reception
Merge pull request #72 from mstovenour/fix_messagedecoder_spelling_cmd2

Fixed spelling errors in MessageDecoder.pm and added decoding of cmd2
Merge pull request #65 from mstovenour/fix_issue_64

Fix for Issue #64
Initial Tests of Changing All-Link Processing Around

Don't clear active message on direct all link received messages. Likely need to push them to an array.

Clear active message when All-Link Status Report received.  If NACK received, need to check array for devices that have not responded.

Needed to grossly increase send_timeout to allow time for this to run, for one of my scenes this takes 6 seconds.
Clean Up Coding Errors
Reformulate Send_Timeout for All Link Commands

All Link Commands from the PLM can take a very long time to process.  The amount of time depends on the number of objects linked to this scene.  Plus if the PLM is forced to send any direct commands, this can take even longer.

For example, on my network, sending a command to 20 devices without any direct commands took 6 seconds.

We obviously can't set a send_timeout for this amount of time.  So instead, we set a normal initial timeout and then keep resetting the timeout when we receive a direct ACK or NACK because these are signs that the PLM is still working on the command.

Now, since the final message from the PLM should never fail to arrive, we never really need to worry about this.  But we need some timeout, otherwise we have the possibility of having MH lockup waiting for a message that never arrives.
Add Test Logic for Getting Members of PLM Scene

Next add members to array for object
Remove ACK Hash and Correct for Discrepancy in Documentation for ALL-Link Cleanup Failure Report

Misunderstood what would be warrant a NACK in the All Link Status Report.  A NACK is only issued if the PLM is interrupted in sending the direct commands. As such ACK HASH is not needed.

Instead an ALL-Link Cleanup Failure Report is issued if a device fails to respond.

However, the ALL-Link Cleanup Failure Report is incorrectly documented in the Modem guide.  The message is only 6 bytes long and byte 3 in the documentation doesn't exist.
Add All Link Direct Cleanup Capability

Added ability to send all link direct cleanup messages to devices that failed to respond to PLM scene command.