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
initial commit of boundary_meter module
made changes as requested by mpdehaan and added code to remove key and cert pem files on removal of meter
fixup appearances of config_directory, remove slash, remove hardcoded /etc/bprobe
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
as per mpdehaan, change string formatting to something that will work with python 2.4
Added module for baking EC2 AMIs
sleep option for service module which adds a pauze between stopping and starting a service using state=restarted. This helps for bad scripts that exist immediatly after signaling a process to stop.
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