Add VPC support

Hi everybody, these changes let elasticluster provision instances in an AWS VPC, and is backwards compatible with EC2 Classic. To provision VPC instances, specify a VPC ID or name on the cloud configuration and a subnet name or ID on the cluster.

I think I updated the corresponding tests and docs appropriately. Can you take a look and let me know if I missed anything? There's still one failing test (test_get_ips), but that seems unrelated to the VPC changes.