Halt! - implementing stopping the connection

actually I cannot - I just remembered the reason. In `stop` the connection is reset in the continuation. This requires capturing the `connection` in the closure. However you cannot capture (or even obtain) a `shared_ptr` in the dtor. Therefore we have the `shutdown` method which we block on and do the clean up synchronously.