It seems like GitHub Actions went slower in the last months since we
sometimes observe a problem when our `autobahn-server` is not started
quickly enough which leads to the autobahn suite trying to connect to
the server that is not yet running resulting into failed pipeline.
See https://github.com/snapview/tokio-tungstenite/runs/6658266507?check_suite_focus=true
Related #188
The echo server would generate ConnectionClosed error when the peer
close the connection normally. This is because that `tungstenite` crate
automatically reply Close message to the peer. Then StreamExt::forward()
also forwards the Close message after the connection is closed.
According to the documentation from the Autobahn Suite GitHub page, it
seems like they do not support Python 3 which is currently the default
Python version used with our GitHub Actions.
The simplest way to workaround it properly seems to be using the Docker
image that the maintainers of the project suggest to use for running the
suite. This is more future-proof way that we should rely upon.
This commit also removes some redundant steps that are not required.
After creating the SslStream it first has to be connected before it can
actually be used to initiate the WebSocket connection.
While this technically is a breaking API changes because of wrapping the
stream in a Pin<Box<_>> and having this as part of the public API, the
old API simply didn't work so if anybody's code fails to compile now
they would've had non-functioning code anyway.