FeelingConnected - adding support for connect request.
SparingCycles - shortcircuiting disconnect if transport already disconnected
LeakyCallback - removing leak caused by binding the `process_response` callback to a shared_ptr

We bound the `connection_impl::process_response` to a connection_impl shared_ptr and passed it to the transport. This resulted in a hidden circular dependency between the transport and the `connection_impl` which prevented from releasing the `connection_impl` instance. Since the transport was meant to be released when the `connection_impl` is being released it was not. Eventually the transport dtor was the last resort to stop the receive loop but since it was not called the receive loop was not stopped.
StartingToStart - building start request uri
RequestToStart - sending start request