Validate on required commands.

When a program indicates a command is required and the specified command
does not match a known command than an EUNKNOWN_COMMAND error is thrown.

This does not apply when no arguments are specified, the empty
middleware will catch that situation and it is up to the program to
handle it as necessary.
0.8.107