scripts/kernelng: monkey-patch echo for --no-color

This adds a --no-color option which globally modifies
the behavior of click's echo to respect a global override
causing ANSI stripping of all inputs (click hard-codes
this behavior to only occur if the output is not a terminal
and this seemed like less work than finding some way to
fake it out).

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
scripts/kernelng: position-independent arguments

Certain arguments should be respected regardless of
other arguments on the command-line.  Bundle them together
into a chunk of code and copy-paste it everywhere we
have a subcommand -- a nicer approach might be to augment
the knggroup/kngcommand decorators to do this for us but
so far I am too lazy.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
eliminate boilerplate pattern

By moving the functional equivalent of the boilerplate into the
kng{command,group} decorators, we can get rid of the need for the
boilerplate in the first place.  The tradeoff is that the code is a lot
harder to read.  We could have made it easier to read by using the
decorator '@' syntax but this would have required an ugly null-decorator
to achieve.  So, I picked the better-performing kind of ugly.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>