ec2: add BlockDevice support for Instances() call

This was missing in the response so there was no way to obtain it. We
can't use the BlockDeviceMapping struct because the response in the
InstancesResp is different than the others. So we add a new
`BlockDevice` struct that represents the Block device response coming
from the instances resp.  The response information can be found here:

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html

In the form of

```
block-device-mapping.attach-time
The attach time for an Amazon EBS volume mapped to the instance (for
example, 2010-09-15T17:15:20.000Z)

Type: DateTime

block-device-mapping.delete-on-termination
Indicates whether the Amazon EBS volume is deleted on instance
termination.

Type: Boolean

block-device-mapping.device-name
The device name (for example, /dev/sdh) for the Amazon EBS volume.

Type: String

block-device-mapping.status
The status for the Amazon EBS volume.

Type: String

Valid values: attaching | attached | detaching | detached

block-device-mapping.volume-id
The volume ID of the Amazon EBS volume.

Type: String
```

The test response was already containing the in the form of

```xml
          <blockDeviceMapping>
            <item>
              <deviceName>/dev/sda1</deviceName>
              <ebs>
                <volumeId>vol-a082c1c9</volumeId>
                <status>attached</status>
                <attachTime>2010-08-17T01:15:21.000Z</attachTime>
                <deleteOnTermination>false</deleteOnTermination>
              </ebs>
            </item>
          </blockDeviceMapping>
```

Therefore I also included this missing case to the tests.
Merge pull request #99 from fatih/add-block-device

ec2: add missing BlockDevice support for Instances() method