changing permissions of modules to 0644
Made URL an optional parameter
use new airbrake API URL
Optionally unarchive a file already on the remote machine
properly convert arg into boolean
If there is no tmp_src, don't modify the args
postgresql_user module: Gracefully handle ALTER ROLE on read-only postgres servers.
Fix postgresql_user to understand PG namespaces

Previously postgresql_user quoted user supplied identifers to create
grant statements that look like this:

    GRANT SELECT on "tablename" to "user";

Which only works if the tablename is not in a namespace.  If you supply
a namespaced tabelname like "report.revenue" then it creates this
incorrect statement:

    GRANT SELECT on "report.revenue" to "user";

Which will not find the "revenue" table in the "report" namespace, but
will rather look for a table named "report.revenue" in the current
(default public) namespace.  The correct form is:

    GRANT SELECT on "report"."revenue" to "user";

This approach could have the unfortunate effect that code that
previously relied on the other behavior to grant privileges on tables
with periods in their names may now break.  PostgreSQL users
typically shouldn't name tables as such, and users can still access the
old behavior and use tablenames with periods in the if they must by
supplying their own quoting.
bugfix: support path separators in module path

As described by http://docs.ansible.com/intro_configuration.html#library the library supports multiple paths to load modules from. 

Currently `setup.py` treats something like `/usr/share/ansible:/my/custom/modules` as a single directory name and results in the installed modules not being on the module path. (instead they are in a directory named `/usr/share/ansible:/my/custom/modules`) 

This commit simply takes the first listed directory as the install directory for the core modules.
apt: fixed pkg=<name>=<version> fails if package is not yet installed.

Reported and patch provided by https://github.com/msolo. Closes GH-5625.
Fixes #5679: lineinfile ignores newline in line argument
Fix a bug in "hg" module so that `pull` is not set to a version.

There is a bug in the `hg` module where if a `tag` is used it won't
properly be able to update to it.

This problem is exhibited on repository where a tag is moved from an
older commit to a newer commit.
Make default ANSIBLE_REMOTE_PORT None

The ansible remote port should be None, not 22. Having a default value
of 22 means that '-o Port 22' will be appended to the ssh connection
all of the time. This is incorrect as when one would like to use
something like an ssh configuration file (-F) that sets the port to
something other than 22.

Part of this change requires that we check that, in get_config, the
value is not None before trying to cast it into an integer or float.
fix following redirects
Fixes #5819: Added --executables to gem uninstall command.
Update docs for rax_facts to include parameters added for other OpenStack clouds
Addresses #5739 and cleans up copy.py

The copy action_plugin is not easy to read. Part of this commit is taking that file, restructuring it, and adding comments. No functionality changed in how it interacts with the world.

The fix for #5739 ends up being the assumption that there is a cleanup 'rm -rf' that happens at the end of the copy loop. This was not the fact before and we made a bunch of tmp directories that we hoped would end up being cleaned up. Now we just use the tmp directory that the runner provides and cleanup inline if it is a single file to be coppied or after the loop if it is a recursive copy.

As a part of this we did end up having to change runner to provide a flag so that we could short the inline tmp directory removal. This flag defaults to True so it will not change the behavior of other modules that are being called.
Example should put instance_ids list in quotes for avoid YAML error
Neaten up example YAML with 2-space indenting
Dug into the remaining FIXME and replaced with comments to document the expected behavior.