Add passthrough support

As originally proposed and discussed in flapjack/flapjack#553, this PR adds passthrough support to GLI. 

Passthrough is a method to tell GLI to stop parsing arguments and just call the action as-is. 

The motivation for this was twofold:

- Calling the command with --help invoked the GLI help, not the native help provided by whatever command you're calling.
- Elimination of double handling of arguments and options. Without this, the developer needs to replicate all the arguments and options of the command being called within the GLI command definition.

There is also a minor whitespace cleanup. 
> I think the way this would behave is that ARGV would not contain the global arguments, nor would it contain the command-specific arguments of any command that was a parent of the passthrough one. Is that your intention?

Yep that's right. If we're going to skip option parsing on a command, we really only care about the arguments being passed to that command, not any of the arguments or options to parent commands. 

>  so a "passthrough" command relying on ARGV to be "just the args for me" cannot reliably do so.

Should commands using `skip_argument_parsing` refer to `ARGV` when looking up arguments? Or should it use another access method?