Insteon: Attempt to Reconnect PLM if it Appears to be Down

- Add flag to track if a message sent to the PLM has been acknowledged by the PLM
- On retry, if no receipt was acknowledged by the PLM, attempt to re-open the PLM serial port

Should fix hollie/misterhouse#397
Merge branch 'fix_issue_397' into running
Insteon: Remove DeviceController Class

Reorganize inheritance structure to be linear, rather than branched.

We can likely merge BaseController down into BaseObject as well.
Merge branch 'fix_issue_280' into running