cmCommandLineArgument: Understands which commands require partial matching

Allows us to provide better error messages when commands such as
`--target` are passed invalid input.
4 files changed