Refactors the handshake process to use asio::deferred instead of a custom composed operation.
Fixes logging on HELLO error (close#297)
Fixes a potential problem on reconnection after a HELLO error is encountered (close#290)
Fixes a race condition in the health checker that could cause it to never exit on cancellation
Adds support for users with a username different than "default" and an empty password (close#298)
Adds integration testing for authentication
Adds unit testing for the hello utility functions