Correct the way the commandhandler processes commands with invalid subcommand but valid args
If subcommand is null but args are valid, only show args in help message
Change commit system to a less ambigious system