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

Calling os.Exit anywhere but main may cause some issues where walletMain doesn't flush the loggers.  This might not actually be an issue when using --create though since all the create logic prints using `fmt`.

We should probably flush the loggers here (it would probably be a good utility function to add that flushes loggers and then calls os.Exit, and that would also remove the need for the main/walletMain/defer mess).