Issue95

Fixes #95 

@rcrichton if you could please review?

I also changed the router error handling to `resolve` rather than `reject`; otherwise the transactions would get stuck on "Processing" when an error occured. We could probably improve that and maybe even store the error as part of the transaction, but it might be better to pick that up in a separate ticket (out of scope for #95)
Cool yeah; one way could just be to enhance the util and add a callback parameter for 'on data'. I guess we can just add that in the next time we have to do a content check.