bench: add support for custom data directory
Expands the benchmark framework with the existing -testdatadir arg,
enabling the ability to change the benchmark data directory.
This is useful for running benchmarks on different storage devices, and
not just under the OS /tmp/ directory.
A good use case is #28574, where we are benchmarking the wallet migration process on an HDD.