Log message around import failure

In certain cases import failure is
expected and in certain cases it is
not expected, in either case it is
useful to at least log the failure.
This is a new debug module thats supposed to print out
some information about the instance being created. 

The module can be included at any stage of the process 
- init/config/final
bug: 1258619 added namespace for config options, output file, commandline argument for output file
essage
Removed method _format_yaml
Removed yaml import
Add a log message around import failures.

Since the import failure can be an expected failure do not log that
failure at a WARNING level, but to start log it at a DEBUG level. This
will help in figuring out why imports fail (if they ever do) for developer
and cloud-init users. Previously it is hard to know if a module fails
importing for a valid reason (not existent) or an invalid reason (the
module exists but the module has a dependency which is not satisfied).
fix pep8 and pylint warnings

This fixes warnings raised by:
 ./tools/run-pep8 cloudinit/config/cc_debug.py
 ./tools/run-pylint cloudinit/config/cc_debug.py
be verbose explicitly if run from cmdline.

Let the command line (or module args) that set outfile explicitly
override a config'd value of 'verbose'.

Ie, if /etc/cloud/cloud.cfg.d/my.cfg had:
 debug:
  verbose: False

but the user ran:
  cloud-init single --frequency=always --name=debug output.txt

Then they probably wanted to have the debug in output.txt even
though verbose was configured to False.
add 'debug' module for printing debug output.

This adds a debug module for printing debug output.  It does not enable it
by default (by putting it in in cloud_config_modules or elsewhere).

Thats fine, as it is still quite useful for the user to run:
 sudo cloud-init single --frequency=always --name=debug ci-debug.txt
fix 'make yaml'.
packages/bddeb: accept python-json-patch or python-jsonpatch

debian bug 717916 renames python-json-patch to python-jsonpatch, so ubuntu
cloud-images with cloud-init may not have python-json-patch.

Just accept either one.
packages/debian/control.in: remove 'python:Depends'

remove python:Depends macro from the control.in file.  This seemed to be
overriding my 'python-json-patch | python-jsonpatch' with whichever
one was installed.

So, we're not getting automatic dependencies on trunk, which is honestly fine.
We'll manage them this way.
support calling apt with eatmydata, enable by default if available.

This allows a general config option to prefix apt-get commands via
'apt_get_wrapper'.  By default, the command is set to 'eatmydata', and the
mode set to 'auto'.  That means if eatmydata is available (via which), it
will use it.

The 'command' can be either a array or a string.