Currently the argument handling in Bitcoin-ABC is very disparate and somewhat all over the place. We would like to setup a global argument structure whereby arguments data structures may be registered with a global argument handler from the module that they are relevant.
The argument data structures should include:
1. Long flag names
2. Data type
3. Validation methods
4. Help message data.
Ideally, the obtain the value for the argument, the particular instance of the argument data structure may be provided to the global registry.