- Add `HdWalletKeys` and `HdWalletAddresses` classes for allowing an easier and better management of keys and addresses
- `HdWalletKeys` is in charge of generating and storing keys, allowing to get them both as dictionary or string in JSON format
- `HdWalletAddresses` is in charge of generating and storing addresses, allowing to get them both as dictionary or string in JSON format
This allows a more "natural" use of keys and addresses, e.g.:
- Keys can be got individually by specifiying the key type
- It's possible to iterate over the addresses like an array and get and individual address by its index. Each address is a `HdWalletKeys` object, so it can be used as any other key.