Fix error responses to IQs without 'from' or 'id' attributes

If an incoming IQ had no 'from' attribute, and we would try to send an
error response to it, then the response actually sent would have
to='nil', as jabber-sexp2xml converts the 'nil' symbol to an attribute
value, but the XML console would fail to display the response.  Avoid
this by omitting the 'to' attribute in this case.

If the incoming IQ had no 'id' attribute, the same would happen: the
response sent on the wire would have id='nil', and the console would
fail to print it.  Section 8.3.1 of RFC 6120 says that the id attribute
of the response should be empty if the id attribute in the request was
absent, so let's do that here.