Initial update for Insteon 2412N

Added initial code to allow Insteon PLM to communicate with an ethernet
connected PLM as well as serial.
Insteon_Data3: Change Default Data3 value for I2CS devices

This may fix issue hollie/misterhouse#176
Allow MH to have a master volume that controls the relative volume of each speak or play event.
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.
Insteon: Check if Code Can do Engine_Version Before Calling It

Fix bad typos in coding.  Not sure why I was attempting to dereferrence an object.
Don't call engine_version on PLM object
Imporove logging and add debug levels.
Initial addition of Audrey aupport
Add audrey documentation, clean up code, adjust debug clauses on several lines
Add comments to audreyspeak.pl, pointing people to pa_control.pl.
Roll back $parms->{mode} use, interferred with Voice_Text.pm when using cepstral swift for voice
Fix so web_file is only used when needed. Clean up a little standardize on arrow notation for parms.
Don't need to set volume if in mute or offline mode.
Start changes to make sure only the desired speakers are on, even if they were on before starting speech.
Added support for the aviosys USB Power 8840 relay board
Add support for multiple serial ports for weeder and aviosys. Fix erroneous code comment.
Added debug print_log calls for serial port loops
Embed speech clash resolution into pa_control.pl. Works better and speaks more reliably in desired rooms, due to correcting a race condition.
Clean up lib/Audrey_Play.pm, add proper description.
Insteon: Add Subaddress to PLM ALDB Linkkey

Add subaddress to linkkey in low level PLM aldb functions, has_, add_ and delete_link