The various layers of the app are too intertwined to refactor them in place.
The C3 refactor is going to create a parallel architecture for all classes that
have too strong of a connection to other parts of the app.
This commit introduces XmppConnection v3 that keeps a lot of the logic of the
privous XmppConnection but cuts ties to XmppConnectionService and the very
stateful `entites.Account`. The latter is replaced by a lightweight immutable
account model.
The reconnection logic has been kept but was moved from XmppConnectionService
to a singleton ConnectionPool.