Builds on #7756 (only the last commit is specific here). Break the circular dependency between main and txdb by:
- Moving CBlockFileInfofrommain.htochain.h. I think this makes sense, as the other block-file stuff is there too.
- Moving CDiskTxPosfrommain.htotxdb.h. This type, used for-txindexseems specific to txdb.
- Pass a functor insertBlockIndextoLoadBlockIndexGuts. This leaves it up to the caller how to insert block indices.