Refactor BIP32 -> HDPrivateKey and HDPublicKey

Can these be defined as constants **(and associated style)**? 
```javascript
HDPrivateKey.ERRORS = {
  'InvalidArgument': 'Invalid argument, expected string or Buffer',
  'InvalidB58Char': 'Invalid Base 58 character',
  ...
}
```
Also error messages, in some cases, may want to include customized messages that would be helpful in debugging, how would this be handled if these are predefined?