Fixes #123 "Either snapshot ID or volume size must be provided".
Distinguishing between VirtualName, NoDevice, and EBS device mappings.
Merge pull request #124 from thatha/fix_invalid_block_mapping

Fixes #123 "Either snapshot ID or volume size must be provided".