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.
On hash160; mostly because it's a really safe case to start with. Can add P2SH easily enough I think now we have a reference version, and will give that a go.

I'll bump the address matching into transaction/unconfirmed_transaction at least. Need to look carefully at the ledger table before I start modifying the database (I may just be trying to avoid Sequel)