Add support for multiple ranges in a host

e.g.  db[01:10:3]node-[01:10]

- to do this we split off at the first [...] set, getting the list
  of hosts and then repeat until none left.
- also add an optional third parameter which contains the step. (Default: 1)
  so range can be [01:10:2] -> 01 03 05 07 09
Return a friendly error message if aptitude isn't installed
Check if mysql allows login as root/nopassword before trying supplied credentials.
Update gem

I've added ability to install gems in system-wide manner with --no-user-install options
Added module for baking EC2 AMIs
fixed spelling errors, unused variables and unused import
Getting timeout errors this morning as AMIs are taking a bit longer to create, so I changed to timeout to 15 minutes
Rewritten s3 module to allow for additional modes of operation.
supervisorctl: add command-line options as module parameters

Adds more parameters which may be passed to supervisorctl:  config,
serverurl, username, password

Also refactored the various `module.run_command(build_a_string)` calls
into a single `run_supervisorctl` function.
Introduce exception AnsibleFilterError and use it in Jinja filters.  Ignore this exception when trying to find the name of a task for display (callback) purpose.
Only append non_unique parameter if a uid is provided as well
added region to spec
Merge branch 'devel' of https://github.com/evan82/ansible into devel
added note about AMI security
Bug fixes and enhancements.

Bugs:
(1) no longer allow empty jobs
(2) strip the header added by crontab package used in openSuSE and SuSE
(3) try not to leak temp files when things go wrong
(4) issue returning job names under certain conditions

Enhancements:
(1) Allow all special times not just reboot.
(2) Fail earlier by performing more input validation
(3) Add feature to allow removing cron file under /etc/cron.d

ToDo:
(1) Validate times (minute, hour, ...)
(2) Strip white space from fields such as name and job such that name=foo equals name=' foo'.
(3) More testing
Let someone specify a path to a Rabbit that's not installed in the usual place.
Minor typo
openbsd_pkg: handle pkg_add quirks better.

This fixes a problem when trying to install a package with a specific version
number from a local directory and the local directory is checked after a remote
repository:

Error from http://ftp.eu.openbsd.org/pub/OpenBSD/[...]/packagename-1.0.tgz
ftp: Error retrieving file: 404 Not Found
packagename-1.0: ok
Keystone_user module: fix authentication needs tenant_name too

The keystone client needs to be passed tenant_name when authenticating the
user/password way. Also it needs auth_url instead of endpoint.
This fix adds login_tenant_name as a module parameter which is consistent
with the other OpenStack modules.
openbsd_pkg: Handle another pkg_add gotcha

* Add '-m' to pkg_add incovation to get access to the "packagename-1.0: ok"
  message.
* Watch for that message if we are about to fail because of stderr in
  package_present().