Connection cycle improvements

- Once client is connected to server, it now sends a connection message
to determine if PM3 is present. Only once this succeeds, does the
connection report as connected and commands start.
- Disconnection better handled now.
- Added connection state to connection interface.