HD wallet fromMaterHex allows specifying network

[#60]
change hd wallet constructor to take bytes

original constructor -> fromSeedString, fromMasterHex -> fromSeedHex

[#60]
Wallet address derivation follows bip32/bitcoinj keychain structure (WIP)

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