Initial rework of insteon debugging
Move debuglevel sub to Insteon::debuglevel, convert other subs to stubs that call this main sub. Insert more stubs, cleanup and further testing.
Merge remote-tracking branch 'remotes/hollie/master' into insteon_device_log_verbosity

Conflicts:
	lib/Insteon/BaseInsteon.pm
	lib/Insteon/Controller.pm
	lib/Insteon/Lighting.pm
	lib/Insteon/Security.pm
Insteon: Add Sync_All_Links Routine for Multigroup items; Add MultigroupDevice Package

Added a package called MutigroupDevice in BaseInsteon.pm.  The purpose of this package is to contain routines specific to all multigroup devices.

Added Sync_All_links routines to MultigroupDevice.  The routine will sync all links between any group on the device.  Useful for KeyPadLincs and RemoteLincs and such.

Fixes #85
Insteon: Add Sync All Links Voice Command to Multigroup Devices
Insteon: Multigroup Sync All Links to Scan Root Object

Not sure why I omitted this before.
Merge remote-tracking branch 'remotes/hollie/master' into insteon_device_log_verbosity
Insteon: Remove extraneous commented code from Insteon.pm

If we don't remove the code now, we will likely never do it.
Insteon: Convert DebugLevel Entries to Parent Device

ALDB objects have no real name, and as such, a user would not be able to add them to a debug line in the ini.  Moreover, if a user puts a device in the debug line, they likely expect to get all relevant messages, including ALDB messages for this device.

Removed debuglevel routine as it is unnecessary.
Insteon: Removed Debuglevel routine from Insteon.pm

Neither the Insteon Manager nor the non-object oriented Insteon.pm have user friendly names that can be put into the debug parameter.  As a result adding a debuglevel routine which really just resulted in returning the global insteon debug level only complicated things.
Insteon: Move Debuglevel into BaseObject, Re-Assign Debuglevel in BaseInterface

Trying to attach the debug message to the most logical object.  Whenever possible, trying to avoid having the PLM be the "catch-all" object.
Insteon: Edit Debuglevel Calls in Message.pm

Remove debuglevel routine, messages have no human readable names.  All calls should be to the relevant object.

Calls to X10 items are tricky, x10 items are defined outside of BaseObject and so do not inherit the necessary debuglevel routine (unless it is expanded to Generic_Item at some future date)
Insteon: Rearrange Debuglevel Association in Insteon_PLM

Attempt to remove as many messages from the PLM as possible.  Avoid using it like a "catch-all".

This is particularly difficult for incoming messages.
Insteon: Fix Errors in Insteon_PLM, Get_Object Requires Group
Insteon: Move Debuglevel Routine to Generic_Item, Fix Bugs in Insteon_PLM

Moving to Generic_Item so that it will work properly with X10 items, also allows for expansion into other object types.
Merge pull request #4 from krkeegan/insteon_device_log_verbosity

Whoah, you were busy! It looks good to me, based on my quick review. I think you caught a few things that I missed, like selecting the correct object, rather than $self all the time. Thanks!
Merge remote-tracking branch 'remotes/hollie/master' into insteon_device_log_verbosity
Insteon: Fix Bug Preventing Delete Orphans Due to Is_Deaf Error

Closes #310
Insteon: Fix Bug Which Converted Object Names to Lowercase

It looks like the routine lc is greedy and will convert multiple concatenated strings.

Closed #309
Insteon: Check if Hop_Array is Defined Before Printing

Closes #311