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?

It seems logical, however worth pointing out that there exists `preserve_argv` which will maintain `ARGV` as it was when the command was invoked, so a "passthrough" command relying on `ARGV` to be "just the args for me" cannot reliably do so.