TWC Changes

In support of changes related to https://github.com/greese/dasein-cloud-core/pull/153

Changes:
- Added i2 instance class.
- Added missing g2.2xlarge type
- Updated ram sizes
- Modify firewalls on instance support
- Added tagging support to subnets, internet gateways, and route tables
- VM Status support
- Allow removing of tags by empty ("") value
- Added futures for listIpPool
- Added null check for bucket, object, and temporaryEndpoint when calling S3 api
- Added hack to prevent encoding of '?location' when calling S3 api.
- Exception handling enhancements
- Support to forcefully delete auto scaling groups
- Add support for creating and getting LaunchConfigurations with: AssociatePublicIpAddress, EbsOptimized, InstanceId, and BlockDeviceMapping.
- Reworked NIC, subnet and security group options based on presence of subnet id and 'associatePublicIpAddress' option when launching a VM.
- Add Utilization property to PrePayment
- Fix for ?ACL check for S3
- Instance state and status filtering
- Fix error for invalid protocol name "-1" for non-VPC firewalls (doesn't support ANY)