Refactor roster handling / IqParser code

During a discussion with @iNPUTmice a few days ago we talked about doing a small refactor of the `Iqparser` code. I've added that here, and also added a fix for #20 (I think). The logic is slightly different than it was before, but I couldn't see why stanzas should check if the from is null or not (null from = sent from server, which means the to will be null which means the response will go to the server). Correct me if I'm wrong.

Simplify roster handling code
Merge result handling code into IqParser

Fixes #20