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.
It's intended to stop double-work by the part of the recipient, especially in case of an input match which can't be determined from the transaction, you have to fetch each input transaction to find their outputs instead.