Cut down on log verbosity

Removing these log messages makes it easier to track
down issues.  Most of this is just removing CLIdriver
logs regarding when service operations/names are created,
or when certain methods are called, which generally don't
provide generally useful info.
Merge branch 'less-verbose-logs' into develop

* less-verbose-logs:
  Cut down on log verbosity
Update test to supress stderr

Noticed this when running unit tests.  The error message
was being printed to stderr.  Now the test catches and
verifies the error message.

I also updated the existing tests to:

* Use mock.patch.  Otherwise test failures will leave sys.stdout
  monkey patched and could affect subsequent tests.
* Also replaced the output.find() calls with assertIn().  This will
  give a detailed error message that includes the original output.
  Also the tests were checking against '!= 1', but find() return -1
  if the substr is not found in the str.
Log the commands run during doc generation

Makes it easier to pinpoint what command failed as well as
the exact command run.
Account for some keys not being in rows

Fixes #198.
Find all possible column names in list of dicts

Rather than relying on the first element to tell us all the column
names, we iterate through all the list of dicts collecting the
column names.  This accounts for when new keys are defined in
rows other than the first.

Fixes #199
Merge branch 'table-fixes' into develop

* table-fixes:
  Find all possible column names in list of dicts
  Account for some keys not being in rows