Fixes for forwarder and client state updates
- Provide human readable name for devices
- Let forwarder write client state updates if connected to server
- Add listener to clients instead of passing onConnect and onDisconnected functions
- Add OnTimeSync listener to provide codepath for ensured time syncronization
- Test code cleanup