Integrate new wallet address manager package

This pull request converts the wallet to use the new secure hierarchical deterministic wallet address manager package.

The following is an overview of modified functionality:

- The wallet must now be created before starting the executable
- A new flag `--create` has been added to create the new wallet using wizard style question and answer prompts
- Starting the process without an existing wallet will instruct now display a message to run it with `--create`
- Providing the `--create` flag with an existing wallet will simply show an error and return
- When an existing legacy keystore exists, the `--create` flag will prompt  you for the old private passphrase and automatic convert all old addresses to the new wallet being created

All *active* addresses.

They are the same right now but when AllActiveAddresses no longer returns inactive addresses, do you think we will need to update this function to also include inactive ones? (Do we care about exporting stale addresses? probably not if we're discouraging address reuse)