Refactor BIP32 -> HDPrivateKey and HDPublicKey

I wanted to keep no direct reference to `Buffer` and `buffer.Buffer.concat` seems too long. I prefer `buffer.Buffer` to `Buffer` because it makes me feel funny when this is going to be browserified, and it's also easier on `closure-compiler` type detection (so it's less burden if we are going to add it eventually)