postgresql_db: add args lc_collate, lc_ctype

Allow the specification of additional locale settings (lc_collate and lc_ctype) when creating a new database (state=present).

Fail if the specified database already exists with different locale/encoding settings. (These settings can't be changed for existing databases as far as I know, and failing seems better than suggesting that no change was necessary by returning changed=False)
Extend authorized_keys module for use with alternate AuthorizedKeysFile configurations
now ssh connection plugin will only pass user as an option to ssh if it is
differnt from the current user. This should enable overrides for user in
.ssh/config w/o breaking any current functionality.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
terminate immediately on a failure
compare the number of available hosts before and after running each task
Initial commit of rax library

This library provides functionality for the Rackspace Public Cloud by
way of the official pyrax SDK (https://github.com/rackspace/pyrax). At
this time only the cloudservers service is functional. Instances can be
created or deleted. Idempotency is provided on matching instances with
the same name, flavor, image, and metadata values within a given
region.

pyrax usage does require a credentials file written out to hold username
and API key.  See pyrax documentation for details
(https://github.com/rackspace/pyrax/blob/master/docs/pyrax_doc.md)
Initial commit of rax inventory plugin

The rax inventory plugin provides a way to discovery inventory in the
Rackspace Public Cloud by way of pyrax, the official SDK. Grouping will
be done if a group:name is found in the instance metadata. When a single
host is queried all the instance details are returned with a rax_
prefix.

Because inventory plugins cannot take extra arguments, ENV variables
must be set to point to the pyrax compatible credentials file and the
region to query against.
Fix up docs and add ability to insert files

Files can be inserted during server creation (like a fully formed
authorized_keys file). This code allows that to happen.

Docs were updated for formatting, location, and to add the new entry for
files.
Adding npm module
adds private_ip param to ec2 module
Updated and improved the documentation (examples)
Added functionality for md5 checksum together with a new overwrite param
to indicate that remote file should be overwritten if a file with the
same filename exists.
added missing build deps for debian/ubuntu to readme
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
mysql_db: use --password= instead of -p in dump/import
moved dependencies in the right place
Moved choises in the right place
Added DEFAULT_EXECUTABLE as a constant

Use DEFAULT_EXECUTABLE when no executable is passed to
_low_level_command_exec

Works as a standard constant - can be overridden in all the normal ways
and defaults to /bin/sh

Motiviation is for a user that only has /bin/bash in /etc/sudoers
simple fix for issue 2564
when we encounter a group we've not seen before - we need
to make sure we make it a subgroup of 'all', no matter what
Updating version added, tweaking instantiation
Changed the service module to terminate early if only changing the enabled state.
Expanded the documentation slightly.