Create a abstract connection class to allow other implementations connecting to a XMPP server.
Today XMPPConnection class is the only way to connect to a XMPP server. To allow other implementations an interface for connections is needed. But there is also many shared code which could be used by these implementations so an abstract class could allow this.
I've merged the new Connection class into the trunk. It was tested by a few people using the bosh branch.