[WFLY-475] Firstly refactoring of ProtocolConnectionUtils to enable a ProtocolTimeoutHandler to be supplied to handle timeouts.

This allows clients to supply a ProtocolTimeoutHandler that can track all user 'think time' during the connection establishment process.
[WFLY-475] Update the CLI to supply an instance of the ProtocolTimeoutHandler to track user interactions.
[WFLY-475] Suspend the ProtocolTimeoutHandler for the server certificate acceptance process.