Fixup for SuSE and openSuSE.

Account for differences in packages names across RHEL/CentOS
and SuSE/openSuSE.
 #4869 compatibility with older versions of apt
Fix setup.py to work with 'pip install -e .'
fix when the system does not have lsb_release script, but has /etc/lsb_release file
openbsd_pkg: rework package name parsing.

Give the module more knowledge of the package name structure.
This makes the handling of version-less flavors (like vim--no_x11)
behave properly.

While here sprinkle debug logging that is helpful when testing the
module.
compatible with python 2.4
Fix for RPM build on opensuse

Opensuse (tested on 12.3) doesn't have package 'python2-devel', just
python-devel. This patch sort this and allow build RPM successfully
on OpenSuse 12.3.
Nova doesn't attempt to auth on obj instantiation

Need to call nova.authenticate() to validate credentials.
Added promote command to promote read-replicas to standalone databases (http://aws.amazon.com/about-aws/whats-new/2012/10/11/amazon-rds-mysql-rr-promotion/).  Added ability for the modify command to rename a database instance via the optional new_instance_name parameter
Added support for parsing in the SLES patch level correctly

On SLES, the setup module was returning the architecture as the distribution version (i.e. platform.dist() didn't quite return the right thing). This change checks for /etc/SuSE-release and grabs the second column in the third line as distribution_version.
ReturnData is used throughout but not actually imported
I think that resultant is meant to be the contents of the combined file

It is used for the transfer and as a diff param but isn’t actually
defined anywhere before it’s used. This seemed like the least bad place
to set it.
Passing in complex_args throws ‘unsupported parameter for module’ errors

When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
The file module doesn’t have it’s module_args reset

I believe that this should be reset in the same way that the copy module
does
dest_contents isn’t always defined, so don’t pass it around

I think this is also a bit of a hack since it should probably be set
before being used, I’m just not sure what it should be set to.
postgres_db CHECKMODE changed status

Make the changed status for postgres_db under CHECKMODE match the
status that would be returned normally.
Make first argument to syslog.openlog be a string

syslog.openlog expects its first argument to be a string.
Without this change running under ipython fails.
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
`file` module: Don't catch `SystemExit`

This fixes issue #5159.
module(apt_key): don't catch `SystemExit`

If we do this, we risk outputting two JSON payloads, which will be
unparsable.