add bip38 (non-ec-multiply) support to Bitcoin::Key

  key = Bitcoin::Key.from_bip38(encrypted_privkey, passphrase)
  key.to_bip38(passphrase)
add warp support for Bitcoin::Key

  key = Bitcoin::Key.from_warp(passphrase, salt)
storage: implement simple #get-block_id_for_tx_id as default for all backends
command api: cleanup parameter handling and response formats
command api: cleanup monitor commands
command api: cleanup specs
command api: add nhash to monitor tx response
command api: filter monitored outputs by addresses
command api: only subscribe one channel at a time, don't send parameters in response
command api: unsubscribe monitors
command api: add filtered addresses for existing output monitor
command api: separate bitcoin_node_cli for using the CommandClient
command api: output monitor: pass last block as hash instead of depth
command api: update documentation
port BloomFilter from python-bitcoinlib
SPV storage WIP
regtest network definition (for local testing)