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. 
...and here, I can't find where the `self.bm_address` is asigned.

What happens if you already had a bitmessage address, it was saved to the settings table I suppose.
Perhaps the loading of that info is not visible in this commit, and if I remember correctly I once took the time to read that code, we should make sure that it's clear where that address comes from when creating the `BitmessageSupport` object, so that it will have that property set.