Merge pull request #2 from markpeek/markpeek-blockdevicemapping

Add BlockDeviceMapping to CreateImage and RunInstances
ec2: ability to specify IOPS on block device mapping
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.
Merge pull request #3 from markpeek/markpeek-awsauth

Add instance based IAM role authentication
CreateSecurityGroup: take in VPC ID
Merge pull request #4 from rgarcia/vpc-security-group

CreateSecurityGroup: take in VPC ID
Add  arch to Instance
ec2: RegisterImage
aws: make GetMetaData public
aws: timeout on requesting metadata
ec2: CreateVolume
ec2: DeleteVolume
ec2: AttachVolume
ec2: Volumes
ec2: DetachVolume
Added IAM Instance Profile support
Merge pull request #5 from jmassara/iam_role

Added IAM Instance Profile support
ec2: support more registerimage options
Added ModifyImageAttribute
Added test case for ModifyImageAttribute