Insteon: Fix BaseDevice Unlink_to_Interface for use with Subgroup Objects

Used a similar step method as found in link_to_interface to make the code more readable

Removed DeviceController unlink_to_interface routine as no longer needed
Insteon: Link_to_Interface will add Surrogate Links if they Exist

Surrogate links allow the KPL light buttons to be directly controlled from MH.  In the future other similar surrogates may exist.

The Link_to_Interface routine now syncs these links if a surrogate is defined.

Also cut out the duplicate logic in Link_to_Interface_i2CS and instead sent the callbacks to Link_to_Interface since the functions are the same after the initial link.
Insteon: Delete Surrogate Links in Unlink_to_Interface

The companion function to the recently added feature in Link_to_Interface

Removed root finding code, as _aldb always returns the root object