Prefer errgroup usage over "async" RPC and channels.
Prefer errgroup usage over "async" RPC and channels.

This change refactors the implementation of Wallet.loadActiveAddrs to
use an errgroup.Group instead of sync.WaitGroup with an errors channel
to collect and merge errors.  This implementation is more
understandable and less error prone.  It also switches away from the
Async dcrrpcclient method as this will have no equivalent in an
upcoming change which replaces the network backend with an interface
(and as all I/O is already async in Go).

It also removes the sync.Pool used to reduce memory usage allocating
address slices, as this had limited value and we can't assume it will
be safe with future implementations of LoadTxFilter.

jrick/btcwallet,decred/dcrwallet,jrick/dcrwallet,decred/dcrwallet,jrick/btcwallet,jrick/dcrwallet