mining: Add mining test harness.
mining: Add mining test harness.

This adds a mining test harness that includes functionality for creating
and signing transactions, adding/removing transactions to a fake tx
source to consider for inclusion in new blocks, and a fake chain that
provides a mocked chain state as well as utxos for use in generating
valid transactions.

decred/dcrd,decred/dcrd