Work to allow AWS security tokens and profiles to work with Ansible

##### Issue Type:

Feature Pull Request

##### Ansible Version:

Based on:
ansible 1.5 (devel 6f405c8970) last updated 2014/02/13 18:12:39 (GMT +1000)

##### Environment:

N/A

##### Summary:

Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules

Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.

Tidied up some variable names

Works around boto/boto#2100

profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.

Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)

Further documentation enhancements and refactorings
will likely result from incorporating this.

While tested with `ec2`, `ec2_tag`, `ec2_vol` would be good
to have more testers (/cc @jctanner)

##### Steps To Reproduce:

##### Expected Results:

profile and security_token can be passed through to AWS calls

##### Actual Results: