library/ec2:

- use boto instead of euca2ools
- improve error handling/propagation for run failures
- rename keypair to key_name (and preserve alias for old playbooks)
- should be 100% backward compatible with the euca2ools version
ec2 module - registers to ansible_facts key
use connect_ec2_endpoint instead of connect_euca, and properly pass keys to connect_ec2
Fail gracefully if boto is not available and add me to the author line.
ec2 facts moduled - updated
lambda fails on attribute access - g.name is a string not the group object
Update packaging/arch/PKGBUILD

Uploaded new version to AUR and bumped version.
Adds user-selectable hash merging support in vars

Hash variables are currently overriden if they are redefined. This
doesn't let the user refine hash entries or overriding selected keys,
which can, for some, be a desirable feature.
This patch let the user force hash merging by setting the
hash_behaviour value to "merge" (without the quotes) in ansible.cfg

However, by default, ansible behaves like it always did and if any value
besides "merge" is used ("replace" is suggested in the example ansible.cfg
file), it will also behave as always.
Fixes hash merging

No need for deep copy (vars are essentially immutable once loaded, there
should not be any modifications)
added first version of pkgin, just does install, remove (for SmartOS)
add pkgin to list of package managers in setup
Update apt_repository to query if repo is already configured

This adds two dependencies to the apt_repository module:  apt and
apt_pkg.  These come from the package python-apt.  This is used to parse
the host's sources.list and examine whether the repo is already
configured.  This then eliminates the unnecessary
'add-apt-repository --remove' from running.
Update examples/playbooks/ansible_pull.yml

Typo
Merge pull request #1910 from fesplugas/patch-1

Update examples/playbooks/ansible_pull.yml
Merge pull request #1907 from sfromm/issue1888

Update apt_repository to query if repo is already configured
ec2 facts module - updated  as per comments
pkgin: change install/remove to not use return code of pkgin

pkgin always returns 0 so can't be used to tell if the install or remove
worked.  Instead this just queries the installed packages after
performing an operation.
Fixed add_key stalling indefinitely, and test code leaking into production setting
Override Jinja2 Template class to make {% include %} work again

Fixes #1908.
Fix unparseable documentation strings

Fixes #1902.