Add address subscription service

Add support for subscribing to payments received by standard addresses via websocket.
Add input matching as well as output as @aalness 's suggestion.
Add stricter error reporting in web socket API calls, for example if no valid option is provided when subscribing.
Add function for retrieving outputs matching a transaction's inputs.
I'm not sure we need these arrays for anything. And once you determine a transaction is interesting wrt an address you can stop doing work.