Added better region handling and enabled eu-central-1

Make use of improved connect_to_aws that throws an exception
if a region can't be connected to (e.g. eu-central-1 requires
boto 2.34 onwards)

Add eu-central-1 to the two modules that hardcode their regions
Add us-gov-west-1 to ec2_ami_search to match documentation!
This pull request makes use of the changes in ansible/ansible#9419
Revert "Merge pull request #384 from jhawkesworth/win_copy_file_template_ansible_modules_core_1"
I missed some discussion in devel, these need more work before inclusion

This reverts commit 58bfebb0477adda2a676381850038e0abf8c8f00, reversing
changes made to 27dee77ca0449bdb338b2db89e044d1d9b553b4a.
update to use connect_to_region to avoid errors with china
git: clean up "fetch" method

De-duplicate repetitive code checking the exit code.

Include the stdout/stderr of the failed process in all cases.

Remove the returned values because no caller uses them.

Combine git commands where possible.  There is no need to fetch branches
and tags as two separate operations.
git: add 'refspec' argument

This argument may be used to fetch additional refs beyond the default
refs/heads/* and refs/tags/*.  Checking out GitHub pull requests or Gerrit
patch sets are two examples where this is useful.

Without this, specifying version=<sha1> with a SHA1 unreachable from any
tag or branch can't work.
Fix appending to a user's group on Solaris

Without this change, you get:
    AttributeError: 'set' object has no attribute 'extend'

Tested on a Solaris 11.2 client with the included Python 2.6.8.
Merge pull request #260 from willthames/aws_frankfurt

Added better region handling and enabled eu-central-1, leaving centralizing the list on these modules to a subsequent patch
Merge pull request #371 from rohanpm/git_refspec

git: add 'refspec' argument
Fix typo in git refspec code.  Change lists to tuples
git fetch --tags overwrites normal fetching with git < 1.8.x so do a normal fetch followed by using the refspec format for fetching tags
Merge pull request #541 from bcoca/cloudformation_china

update to use connect_to_region to avoid errors with china
Merge pull request #548 from mavit/solaris-user-groups

Fix appending to a user's group on Solaris, someone thought it was a list but it is really a set.
Fixes version check for docker-py
Merge pull request #560 from weitzj/bugfix/dockerpy-versioncheck

Fixes version check for docker-py
Fixes invalid dictionary access.
vsphere_guest fix for KeyError: folder message
Merge pull request #535 from bcoca/revert_win_mods

Revert "Merge pull request #384
Merge pull request #562 from phips/fix_vsphere_folder

vsphere_guest fix for KeyError: folder message
fix compatibility issues with python-apt < 0.7.9
use low-level apt_pkg.Package