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.

Changes:
- New operation to the MachineImageSupport: copyImage, which copies given image to another region.
- Main property to RoutingTable -- allows identification of main/default routetables over others.
- Support for attributes (crossDataCenter, timeout, etc) on load balancers.
- Add/remove listener support to load balancers.
- Ability to set firewalls when creating load balancer.
- Add health check info to LoadBalancer.
- Add volume info to machine image.
- Add set/list notificationConfigs to AutoScalingSupport.
- Added synchronous call to create tags.
- Deprecated subnetIds property (comma separated string) and added new String array for subnetIds in Scaling Groups.
@maksimov I provided the direction that we would make these primitives and handle this on our side and simply pass these value in AWS impl.  AWS code ends up becoming:

```java
parameters.put("LoadBalancerAttributes.CrossZoneLoadBalancing.Enabled", String.valueOf(options.isCrossDataCenter()));
parameters.put("LoadBalancerAttributes.ConnectionDraining.Enabled", String.valueOf(options.isConnectionDraining()));
parameters.put("LoadBalancerAttributes.ConnectionDraining.Timeout", String.valueOf(options.getConnectionDrainingTimeout()));
parameters.put("LoadBalancerAttributes.ConnectionSettings.IdleTimeout", String.valueOf(options.getIdleConnectionTimeout()));
```

Thoughts?