Wallet address derivation follows bip32/bitcoinj keychain structure

Also wallet accepts bytes in constructor

[#60]
private a method to generate change addresses
getPrivateKey derives key on the fly

also added getPrivateKeyFromAddress
return private key rather than HD wallet node
remove keys array and usage
store accounts in closure instead of on object