Add a blocks_dir field to the BlockManager options. Move functions
relying on the global gArgs to get the blocks_dir into the BlockManager
class.
This should eventually allow users of the BlockManager to not rely on
the global Args and instead pass in their own options.
This is a partial backport of core#27125
https://github.com/bitcoin/bitcoin/pull/27125/commits/18e5ba7c8002bcd473ee29ce4b5bfc56df6142a4
Depends on D16185