Updated VerifyMessage to not use the keystore
Implement new namespaced db package named walletdb.

This commit implements a new namespaced db package which  is intended to
be used be wallet and any sub-packages as its data storage mechanism.

- Key/value store
- Namespace support
- Allows multiple packages to have their own area in the database without
  worrying about conflicts
- Read-only and read-write transactions with both manual and managed modes
- Nested buckets
- Supports registration of backend databases
- Comprehensive test coverage
Add full test coverage suite for walletdb package.
Add examples for walletdb usage.
Add README.md for walletdb and bdb driver.
Add tests for new encryption API on the manager

100% coverage on selectCryptoKey, Encrypt, Decrypt.
Cleanup recent encrypt/decrypt test additions.

This commit cleans up the recent test addition for testing the positive
and negative error paths of the Encrypt and Decrypt functions.

In particular:

- Add comments to all new functions
- Close the manager before trying to delete the file which is otherwise in
  use
- Rename the temp prefix since these are not pool tests
- Rename setUp to setupManager to make it a bit more explicit what it's
  doing
Correct walletdb README.md example link.
Finish comment in walletdb namespace example.
Voting Pools - Deposit side
Revert some changes that don't belong here or are no longer needed
Add license headers to files missing them
Change branchOrder() to take a slice of hdkeychain.ExtendedKey instead of btcutil.AddressPubKey
Rename VotingPool to Pool
Rename CreateVotingPool to Create
Rename LoadVotingPool to Load
Rename a bunch more functions/methods that had a VotingPool prefix/infix
Get rid of all encryptXXX/decryptXXX methods from Pool

It turns out they are not really necessary
Migrate the votingpool pkg to use walletdb APIs
WIP: voting pool withdrawals