documentation for XEP-0012
drop unnecessary else
fix server resolver
add support for error handling
XEP-0030: return []Item instead of Items
implement way to send error replies
send a resource constraint error when we couldn't process a stanza
tweak marshalling of Message
add buffering to IQ and error sending

The only reason for doing this is so that wireshark's dissecter
doesn't screw up.
make errors argument of SendError a vararg
actually subscribe to stanzas in xep0012
unlock before closing connection
add support for pre-approval, move revocation to own function, make responding functions work on auth requests, not jids
make SendIQReply take an IQ struct
formatting
xep0012: turn Reply method into a package function

This maintains the idea of passing around stanzas instead of operating
on them. All stanzas in rfc6120 and rfc6121 go without active
methods (only passive ones that retrieve values). A stanza shouldn't
be responsible for writing meaningful data to a connection; a
connection should do that.

Since getting the XEP-enabled connection is a bit too
cumbersome (potential for panic, alternatively error return) we turn
it into a package function instead. That still fits into the
`scope.Function(stanza, ...)` pattern. We either have
`conn.Function(stanza, ...)` for the rfc6120/rfc6121 functions, or
`xepXXX.Function(stanza, ...)` for XEPs.