This is a small first step to refactor Config / gArgs / ChainParams / ChainBaseParam aiming to remove globals
and implicit states.
The idea is to eventually have something like:
auto &config = make_unique<Config &>(Config(argc, argv));
at bitcoind / bitcoin-cli / bitcoin-tx.
Then, config will have all parameters available, with getters, something like:
config.getDataDir(); config.consensus.getDiskMagic();
We could decide wheter to pass config everywhere needed, or to have global
(or similar) instance in the future.
For testing, we could do:
auto &config = make_unique<Config &>(TestConfig());
with adds setters methods for parameters, and other test's needs.
As a first step, we want to create methods on ArgsManager to access args settings
so we remove the param name constants (like "-datadir"), and help messages that
are spread all over the code.