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)
The mock server allows you to pass it a requestCallback function. Perhaps this should be used to verify that the correct post body was received?