Refactor BIP32 -> HDPrivateKey and HDPublicKey

Yep, this `network.get` function takes care of than ambiguity and if the object is already a network, returns the same thing. This is just being defensive