Factor a BitMessageChat class out of CryptoTransportLayer

This is part of a series of PRs that attempt to clean up the code in `transport.py`
Right now the code for the integration with BitMessage is scattered in `transport.py` and `market.py`. To solve this a new class called `BitMessageChat` is created in `chat.py` and the relevant code was moved there to form an object that makes sense.