SMACK login refactoring (auth, binding)

 * Merge common code from XMPPConnection and BOSHConnection into
   Connection.
 * Move binding code from SASLAuthentication into Connection
SMACK login refactoring: anon login
SMACK login refactoring: move binding

Binding is now done by perform_bind(resource) right after
perform_sasl(). This is a prerequisite to implement other specific
functions between SASL and binding, like stream compression and
XEP-0198.