fix and cleanup usage of util.logexc
fix pep8 errors.
fix and tidy up logexc usage

Some of the usages of logexc contain incorrect arguments to logexc.
 cloudinit/config/cc_ssh_import_id.py
 cloudinit/distros/__init__.py

The tidy up here is to fix many others that pass rendered strings
to logexc rather than letting it handle rendering at a later date (or
not at all in the case where logging is disabled).
commit dev state
fix test_nocloud testcase
merge from trunk
add some unit tests, fix things found by doing so
handlers/upstart_job.py: invoke reload-configuration if we can.

Previously we'd not invoked reload-configuration because doing so
caused issues with upstart.  Now, instead, determine if we can invoke it.
re-enable test case because 1124384 is fixed
merge from trunk
add azure to ds list
add stub for ssh keys

The idea is that in the future, the DataSources get_data could
check to see if there were ssh keys provided. if there were, it could
poll and wait (or inotify) until the <fp>.crt files appeared in the
/var/lib/walinux directory. Once they did, it'd populate the metadata's
public keys.
better handling for user/password
populate /var/lib/waagent with ovf-env.xml

this will copy the ovf-env.xml file that was found to
the configured directory (default /var/lib/waagent)
search in the default storage directory for cached ovf-env.xml

since azure ejects the disk on reboot, we need to look there to
find this datasource.
mention using cached
fill out load_azure_ovf_pubkeys

now if there are pubkeys, the cfg['_pubkeys'] entry
will have a list of dicts where each dict has 'fingerprint' and 'path'
entries.

The next thing to do is to block waiting for the <fingerprint>.crt
files to appear in /var/lib/waagent.
build up the 'wait_for' list including fingerprint.crt files
add waiting for files and reading of crt keys
add Azure datasource

This datasource is not perfect at this point, but is tested on raring.
It expects that walinuxagent config is set to disable provisioning
(Provisioning.Enabled=n) and also that walinuxagent will not start
otherwise (ie 'echo manual | sudo tee /etc/init/walinuxagent.override).