AWS VPC support

closes #298 

This PR revives work by @jtriley and @locojay to use StarCluster inside Amazon VPC and adds a couple bug fixes.  I have been using this successfully for about a week with no significant problems. 

Changes and details:

- When running in a vpc, the public "dns_name" is by default unavailable, which may make some StarCluster features fail when using the VPC.
- If using VPC, the clusters must be started (and ssh'd into) from inside the vpc.  We do not support ssh tunneling from outside the VPC (and we probably shouldn't) .
- If using VPC clusters with other nodes in the vpc, users may need to configure their security groups using this plugin: https://gist.github.com/adgaudio/5208195


UPDATE Oct. 6, 2013

- This PR is now fully backwards compatible with StarCluster (as of 8b3a01946bff4c3d70b955aba0ba61ad972c27b4)
    - If you were using an earlier version of this this PR, your clusters may not appear anymore.  see the commit msg 
- `starcluster terminate` will wait up to 5 minutes to terminate a security group in VPC.  Previously, it just failed to delete the security group because AWS is slow to remove dependencies from the security group.
- This PR includes GH #298 (ENH: Option to prefix dns name of clusters with the tag name. ie master on mycluster --> mycluster-master.)