Allow multiple users to use ec2 inventory scripts

Move the ec2 cache files from a shared /tmp location to the
user's ansible tmp directory.
Fail EC2 inventory better with restricted EC2 users

If a user has full EC2 access but no RDS access, the user
should still be able to query the EC2 inventory, although
will not obtain any information about any RDS instances.
Added prev_state for directory
Move more responsibility to common EC2 module

Moved `AWS_REGIONS` into `ec2` module
Created `ec2_connect` method in `ec2` module
Updated modules able to use `ec2_connect` and `AWS_REGIONS`
fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD
Use "brew list <name>" instead of grepping the output of "brew list".

Some brew packages are not listed with their package name, e.g. libjpeg.
Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release.
Fixed typo in example documentation
Complete removal/refactoring of conditional deprecations.
Return early from setup step when possible

The _list_available_hosts call can be lengthy, and in the case where
gather_facts is disabled the call is pointless. So re-arrange the logic
to return early from _do_setup_step when gather_facts is false.
Merge pull request #5497 from paulbeattie/devel

Fixed typo in example documentation
Use list comprehensions for efficiency

For loops can be inefficient, particularly when doing a dot command with
them. https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Loops and
https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoiding_dots...

This patch makes use of list comprehensions to be as efficient as
possible while still retaining order. Efficiency was lost a bit when
switching away from sets() but this gains some of it back.
Update various copyrights.  Not complete, but sufficient.
Merge branch 'use_comps' of git://github.com/j2sol/ansible into devel
Merge pull request #5498 from j2sol/exit_setup_early

Return early from setup step when possible
Merge pull request #5489 from daghoidahl/devel

Use "brew list <name>" instead of grepping the output of "brew list". Fix for #5488
Merge pull request #5468 from jeromew/ansible_ssh_alt

fix issue #5372 on ssh_alt: accept -K option for a user with NOPASSWD
Resolve merge commit
Fact gathering on a second play against the same hosts should not be implicitly off since this is an undocumented beheavior and potentially
rather unwanted when a play could change a fact.

gather_facts: True/False can still be explicitly used per play.

Reverts 564a212b3c6df0af099d97dbaee29a2e26155e89
Don't override sudo if transport is set to local.
https://github.com/ansible/ansible/pull/5251