TWC Patch 2014-08-28

Apologies for the large PR again. In the currents of change I haven't been able to get a process in place to do PRs per patch/feature. As of tomorrow that process should be in place though, so you should be seeing much smaller patches from us.

These changes should be shipped with core changes in PR https://github.com/greese/dasein-cloud-core/pull/270

Changes:
- Added support for SSD EBS volumes.
- CopyImage method for AWS machine images.
- Add 'main' field to RoutingTable.
- Fix minServers value never being set from create options for autoscaling groups
- Added support for attributes (crossDataCenter, timeout, etc) on load balancers.
- Added add/remove listener support to load balancers.
- Added ability to set firewalls when creating load balancer.
- Add health check info to LoadBalancer.
- Add volume info to machine image.
- Use Connection:close when provider debug set to true. (Eventual consistency issues)
- Add support for AutoScaling notification configurations.
- Added synchronous call to create tags.
- Fixed bug when disassociating route table from subnet.  The previous code would find the first route table association and use it's ID to remove the association. This is incorrect because AWS returns all associates in the DescribeRouteTables API call.  New code checks the subnetId on the association first.