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 new methods that replace these are below:
get: https://github.com/greese/dasein-cloud-core/pull/270/files#diff-3dcea8fc6f035b482d61686770c9a8faR258
set: https://github.com/greese/dasein-cloud-core/pull/270/files#diff-3dcea8fc6f035b482d61686770c9a8faR262

We were aiming for consistency with other resources by making this a `String[]` instead of a CSV String, i.e. `"sub-123abc,sub-456xyz"`.  The reason for the new logic within these methods is to convert the string[] to a CSV to support consumers still using the old method.

@eyaroslavtsev if @maksimov agrees, then lets keep this.  However I think our AWS implementation requires updating: https://github.com/TheWeatherCompany/dasein-cloud-aws/blob/twc-push-upstream-2014-08-28/src/main/java/org/dasein/cloud/aws/compute/AutoScaling.java#L1481-L1486 -- or does the CSV get converted to a `String[]` without issue?