Wallet cleanup & rewrite

This version is a bare minimum usable wallet. It doesn't handle transaction pending/confirmed state. For wallet API design assumptions, see: https://github.com/bitcoinjs/bitcoinjs-lib/issues/73#issuecomment-38343535

cc. @kyledrake @abrkn