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)
Thanks, yeah I did try that, but had issues getting the `req.on 'data'` to work using the util. I'm sure it can be done, it was more just a case path-of-least-resistence :)