XMPP errors are a real pain - they have up to 3 elements. 2 are
XMPP-specific and have one of two namespaces, the other is application
specific. Go's xml package is good, but it's not that good!
So, I've had to handle the error data as a generic Payload string attr
and provide methods for retrieving the bits as conveniently as possible.
Note: there's no application-specific error data yet but it should slot
in ok now.