Adds argument parser so commandline documentation can be inlined. fix #7289 [WIP] [CR]

Attempts to address #7289 by bundling documentation with the command-line flags. This way they'll theoretically stay in sync as updates to the actions will be made next to the docs.

It doesn't conform to the style used in the rest of the codebase, I wanted to make sure this is a reasonable direction before renaming/reformatting. Also hasn't been tested on Windows yet.