cmCTest*Command: Generalize argument parsing and checking

Move the instantiation of unparsed arguments as well as the `parser.Parse` call
behind an abstraction.  Merge checks on `captureCMakeError`.
11 files changed