Add IamInstanceProfile params to RunInstances
Add instance based IAM role authentication

This change consolidates authentication decisions into a single new function.
First it will try using the passed in key/secret, then environment variables
and finally instance based IAM role authentication. Since instance based
IAM role authentication requires an additional token for signing the request,
the existing API has changed slightly since most use cases construct auth via
struct initialization. This will also allow for future changes such as
supporting credential files or STS AssumeRole.

Conflicts:
	aws/aws.go
aws: make GetMetaData public
aws: timeout on requesting metadata

Conflicts:
	aws/aws.go
Added IAM Instance Profile support

Conflicts:
	ec2/ec2.go
Merge ec2-iam, replace IAM profile param as you can pass either Name or ARN

Conflicts:
	ec2/ec2.go
Fix duplicate import declaration