Also:
- Have CChainState::LoadMempool and ::ThreadImport take in paths and pass it through untouched to LoadMempool.
- Make LoadMempool exit early if the load_path is empty.
- Adjust the call to ::ThreadImport in ::AppInitMain to correctly pass in an empty path if mempool persistence is disabled.
This is a partial backport of core#25487
https://github.com/bitcoin/bitcoin/pull/25487/commits/06b88ffb8ae7f2b2a93a32908cd80e77fafd270c
Depends on D15721