delegate to_xml (with options) to the node

Instead of defining `to_xml` as `node.to_s` call `node.to_xml`, which also accepts an options hash to control the output.  With this change the `to_xml` method for errors behaves just like any other stanza's `to_xml` method.
A problem with the previous implementation is that the following statement will throw an exception:

    client.write Blather::StanzaError.new(stanza, 'registration-required', :cancel)
 
The reason is that `client.write` calls `stream.send`, which in turn calls `to_xml` with an argument on the stanza:

    stanza.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML)

Instances of `Blather::StanzaError` and `Blather::StreamError` have an implementation of `to_xml` that does not take an argument.

This test only ensures that `to_xml` indeed takes an argument and would thus work when invoked by `stream.send`.