Update connection handling

Improved being being able to connect/disconnect.  Will now bail out of
attempting to read from a device if we detect that we are disconnected.