Added third (and last) level of argparse which is done at the action level.
Calling subsystem parse args and actions directly instead of using wrapper function. This is necessary to make it possible to call other scripts on other machines rather than MCP calling itself on another machine as another user.
Moved arg parsing and user/host checking to each individual subsystem action. This is necessary to make it possible to call other scripts on other machines rather than MCP calling itself on another machine as another user. I wrapped as much as I could into wrapper methods to avoid cutting and pasting a bunch of code.