Split "args" from "options" in command-line

Separate the data types and parsers for the configuration-y "options"
and the command-y "arguments".

This results in parsers which are more readily reused in client code.