allow setting the block device virtual_name

We currently use the virtual_name property to map ephemeral instance storage to individual AWS instances:

```tf
resource "aws_instance" "foo" {
  ami = "${lookup(var.aws_amis_hvm, var.aws_region)}"
  instance_type = "i2.xlarge"
  associate_public_ip_address = 1
  ebs_optimized = false

  block_device {
    device_name = "xvdb"
    virtual_name = "ephemeral0"
    delete_on_termination = 1
  }
}
```

If this is possible without the virtual_name property please enlighten me :)