Allow specifying dbtx in TxnBegin.

Optionally allow specifying an existing DbTxn to use in TxnBegin of the
DBs, so that one can use an atomic transaction across multiple databases
to fix syncing issues in the future.
Construct UTXO database from a rescan.

Add initial code to construct the UTXO database on startup from a rescan
of the existing blockchain.
Merge remote-tracking branch 'origin/utxo' into utxo

Conflicts:
	src/db.cpp
	src/db.h