new module: kernelng.utils

Move the is_string from "output" to "utils".  It's definitely not
an output-specific feature.

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

Mysteriously, I'm 75% sure this code was tested and working
under python 2.7.  I really can't explain that, so, perhaps I'm
simply mistaken or perhaps it's a recent 2.7 backport or something that
nobody bothered to document anywhere I could find it.

Regardless, attempting to read prose online, the clear consensus is that
the "(..., *, ...)" argument syntax for nameless positional arguments
is not supported in python 2.7 and never will be.

At the very least, it definitely was confusing ipython3.4.

So drop that & do the work the old-fashioned way (note: I'm still aiming
for 2to3-less python 2.7/3.x compatibility in this code-base).

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
config: lazy-loading of portage_uid/portage_gid

This gives a huge command-line interactivity speedup.

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

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
scripts/kernelng: flesh out what overlay create might look like

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
scripts/kernelng: drop no-longer-needed KNGConfig lazy-loading

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
config: ginormous comment: creeping right-hand column

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
setup.py: add wrapt dependency

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
output: several debug tracing improvements

o adds a suppression feature that will turn off all tracing
  while a given API runs

o Use wrapt decorators to automagically handle function/method
  differences

o Use more consistent and nicer colors

o Add classmethod tracing (probably untested)

o Merge "object" and "value" style codepaths

o drop auto_trace_function/auto_trace_method for single "trace" API

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
config: lots of API tracing decorators

Also KNGConfigItem.__repr__ gets @suppress_tracing
as this was causing some sort of run-away recursion problem.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
KNGConfig: skeleton for loadConfigText API

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