Convert waddrmgr to new walletdb package.

This commit converts the waddrmgr package to use the new walletdb package
semantics.

Since waddrmgr no longer controls the database, it is unable to make a
copy of the database and return it as the old ExportWatchingOnly function
required.  As a result, it has been renamed to ConvertToWatchingOnly and
it now modifies the namespace provided to it.  The idea is that the caller
which does control the database can now make a copy of the database, get
the waddrmgr namespace in the database copy and invoke the new function
to modify it.  This also works well with other packages that might also
need to make modifications for watching-only mode.

In addition, the following changes are made:

- All places that worked with database paths now work with the
  walletdb.Namespace interface
- The managerTx code is replaced to use the walletdb.Tx interface
- The code which checks if the manager already exists is updated to work
  with the walletdb.Namespace interface
- The LatestDbVersion constant is now LatestMgrVersion since it no longer
  controls the database
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
A bunch of small changes to address Dave's review and fix some issues pointed out by lint/vet
Add README.md and coverage report
Add brief doc.go