ec2: Added DescribeImageAttribute API call

New API call.

@mitchellh, I originally had this bit of code:

```go
type LaunchPermission struct {
	Group  string `xml:"group"`
	UserId string `xml:"userId"`
}

type ProductCodes struct {
	ProductCode string `xml:"productCode"`
	Type        string `xml:"type"`
}

type ImageAttributeResp struct {
	RequestId        string               `xml:"requestId"`
	ImageId          string               `xml:"imageId"`
	Kernel           string               `xml:"kernel"`
	RamDisk          string               `xml:"ramdisk"`
	Description      string               `xml:"description"`
	LaunchPermission []LaunchPermission   `xml:"launchPermission>item"`
	ProductCodes     []ProductCodes       `xml:"productCodes>item"`
	BlockDevices     []BlockDeviceMapping `xml:"blockDeviceMapping>item"`
}
```

But it seemed unnecessary.  Regarding LaunchPermission, the only valid group is "all" so it seemed better to just deal with an array of strings for UserIds.  With ProductCodes, the example [here](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImageAttribute.html) shows a "type" is returned, but the doc [here](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-ItemType-ProductCodeItemType.html) doesn't have it, so again it seemed easier to use an array of strings.  Let me know which you prefer.