Fix stanza catching issue

When I send a roster get request to prosody (and possibly) other servers then the **from** attribute does not appear to be returned. For example,

__outgoing:__
```xml
<iq from="lloyd@buddycloud.org" type="get" id="a236af25-f083-4ea7-957b-ec1d58d69290">
    <query xmlns="jabber:iq:roster"/>
</iq>
```

__response:__
```xml
<iq id="a236af25-f083-4ea7-957b-ec1d58d69290" type="result" to="lloyd@buddycloud.org/laptop" xmlns:stream="http://etherx.jabber.org/streams">
    <query ver="39" xmlns="jabber:iq:roster">
        <item jid="abmargb@buddycloud.org" subscription="both"/>
        <item jid="chatftw1@ch3kr.de" ask="subscribe" subscription="from" name="Juan"/>
        <item jid="me@matthewwi....
```

In this case the stanza ID spoofing protection is stopping the response from getting back to the requester. Therefore I'm suggesting that if a response stanza has no **from** address then we assume the response it coming from the user's server.