move XEP related functions to own interface
move XEP related client functions directly into Extensions type
rfc6120: hide the specific Client implementation from the user and return an interface
rfc6120: don't export extensions type
document XEPRegistry
document RegisterErrorType
allow creating connections from existing net.Conn's
store inner xml of <presence/> and <message/> tags
adjust Client interface to match changes in 75c684e5750d7df355d03e86260fe25dc3d2cf5a
do export and return Connection type

This reverts 4042d5e
remove dependency on go-spew
make sure that the connections implement their interfaces
implement dependency resolution when applying XEPs
move XEP registration responsibility from individual XEPs to client
do not export map of xeps
turn subscribers into Emitter interface to allow using different strategies
add NewConnection to allow more control over the created connection

This removes DialOn from the rfc6120 client and both Dial and DialOn
from the rfc6121 client.
don't export the mutex in DroppingEmitter
more idiomatic identifiers
add MustRegisterXEP