Validate arg nb

Validates the number of arguments, add a few tests for various cases around that.

Gli now uses strict argument validation.
Defaults to no argument validation.
New scaffolded applications are using strict argument validation.
This just prints `@results.inspect` with the test failure, which can be useful.  If you don't need that, you can remove the `with_clue` call entirely