Reworked PR to avoid repeating the command
ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707
Revising method for parsing ranges from --limit subsets

Also added a new test (test_subset_range) for future validation.

Fixes #4620
fixes as per feedback
changes names to name in example
Module to create EC2 snapshots

Two methods of creating a snapshot
* use volume_id
* use device_name and instance_id

The latter is more useful with inventory
make --list-tasks honor --limit
fixed main() issue created in prev fix, now values are empty string if they were None

Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
ec2.py: Make sure ec2_placement gets handled correctly

ec2_placement was missing from the inventory variables ec2.py was
producing.  Make sure that gets properly included rather than ignored.
Pick up default EC2 region from boto.config

This doesn't account for boto configs where e.g. RDS has one
default region and EC2 another - all will default to `ec2_region_name`.

However, this is just handy to allow an easy site wide default
region if existing configuration already relies on it.

Modules can be improved to mention this in the documentation and
turn off required=True where needed. But it works with `ec2`
and `ec2_vol` without change.
Make sure requested version tag gets downloaded

There is a subtle bug in how the git module currently works. If the
version you request is a tag name, and you've already got the repo
cloned, and the tag name is a new tag, but refers to the already checked
out working copy, the git module would exit early without change. This
is bad as it means the new tag ref was not fetched and could not be used
in later tasks.

This change will check if the version is a remote tag, and if the tag
doesn't exist locally. If that is true, it'll do a fetch.

The activity could still be seen as not a change, because the working
copy won't be updated, if the new tag refers to the already checked out
copy, but that's not different than before and can be fixed as a more
comprehensive overhaul of tracking change in the git module.
NPM install latest made more effecient

`npm install` is smart enough to only update updated modules. Checking for `outdated` and running `update` repeats the same process 2x.
outdated needed to see set `changed`
indent err
Added user_data parameter to nova_compute module - currently no file parsing just text - Re issue #4992
Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key.
made changes as per feedback:

- field names are more consistent with debconf
- values are now 'booleanized' or accepted as list/set objects when
  pertinent
- updated docs to reflect all of the above and debconf cli tools
  required
hopefully last batch of fixes

- removed previous 'typification' of input as it needs it is typed by
  module as strings and needs to be output as strings, making it
  useless.
- now checks for vtype and value against None when question is specified
- simplified set_selections as vtype and value should have a string
  value going in.
- added example of querying questions for a package
- added module requirement of question,vtype and value being required
  together.
library/digital_ocean: Adds the missing backups_enabled create option
vsphere/vmware inventory plugin

Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>