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
added optional ignore_md5_mismatch parameter
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!
Fireball2 module will now launch in a proper tmp path
Bail out correctly if socket.recv gets nothing (indicating a closed socket)
Initial support for sudoable commands over fireball2

Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
  be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
  must have sudoers entries to allow them to run the command as the
  target sudo_user