pub fn parse_args<I, S>(args: I) -> Result<Command>where I: IntoIterator<Item = S>, S: Into<OsString>,
Parse arguments excluding the executable name.
Returns a descriptive error for missing, duplicate, or unknown arguments.