MySQL variables module
mysql_replication module added
Enhancements to provide pool creation and attributes
Changes made in documentation (EXAMPLES section added)
Minor identation fixes
EXAMPLES section added
Fix to better handle concurrent runs of module against same pool
Ensure plugin_loader.all() only loads one instance

by ensuring all basedirs, plugin paths and extra
paths are handled as absolute paths and are checked
to not add any doubles.

This fixes the corner case where e.g. the user has
an additional plugin path configured to a dir
relative to his playbooks or inventory location,
which also matches the  _plugin subdir relative to
one of the basedirs in the play.

For most plugins this doesn't show as an obvious issue
except for callback_plugins, which might fire more
than once. Other plugins (inventory and template
plugins) might unnecessarily be ran twice.

e.g. ansible.cfg has
callback_plugins   = ./plays/callback_plugins
and plays/ contains a playbook file:
.
├── ansible.cfg
├── inventory
└── plays
    ├── callback_plugins
    │   └── timestamp.py
    └── site.yml

modified:   lib/ansible/utils/plugins.py
Documentation fixes and enhancements
Automatically prepend partition if non-fully qualified monitors are passed
now correctly detects hard links
simplified check_mode
simplified other file attribute handling in link mode
made conditionals clearer

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Add support for role defaults. These are variables on a per role basis with lowest precedence.
Skipping facts not available on AIX WPARs
Fix issue 3908. There was some ilegal operations over the sets
The cloudformation module argument spec should match the documentation, so that template_parameters is a required argument.
added optional ignore_md5_mismatch parameter
Merge pull request #3956 from jlafon/cloudformation

The cloudformation module argument spec should match the documentation.
changed ignore_md5_mismatch to validate_md5
Initial work for the AES cipher class

This is based somewhat loosely on how Keyczar does things. Their
implementation does things in a much more generic way to allow for more
variance in how the cipher is created, but since we're only using one
key type most of our values are hard-coded. They also add a header to
their messages, which I am not doing (don't see the need for it
currently).
Initial commit for the "fireball2" connection plugin

Still needs:
* chunked file transfer/receive
* should probably move all send/recv operations to separate
  functions to reduce code duplication
* initial connection setup over ssh? or do we handle that in runner?
Fireball2 mode working!