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. 
I think the correct way is then a much simpler way:

`self.bitmessage = BitMessageSupport(ob_ctx, db, self.guid)`

and just use the `self.bitmessage` object and access its properties when needed. Less code, less maintenance, you have everything related to the object in a `Transport` member variable, by not having this reference inside an arbitrary array key, you also get the benefits of being able to easily refactor the code if you have a proper IDE.