JCLOUDS-756. Add support for tags to CloudStack.
JCLOUDS-756 - Adding tags/userMetadata to NodeMetadata transform
cinder availability zones api + list call implemented
zone -> region in Cinder AvailabilityZoneApiLiveTest

Follow-up to 1205010c
add support for primaryNetworkComponent.networkVlan.id, primaryBackendNetworkComponent.networkVlan.id, postInstallScriptUri, user-data, privateNetworkOnly and sshKeys options
Revert "JCLOUDS-653: Address Guava 18 deprecations"

This reverts commit 95cfc0d950861e5bc753ee3b0669aa5c59c217e8.

Many conflicts due to duration between above commit and now
JCLOUDS-653 revert guava 18.
Revert "JCLOUDS-652: Require JDK 7"

This reverts commit 5e8bd02c93c7ebacb573342e77ef7ca4b02c4ffb.
Revert "Remove Java 6 litter"

This reverts commit a10bf3e9c5495b4c8c69e0059b5901266df471dd.
Revert "JCLOUDS-264: Allow payloads greater than 2 GB"

This reverts commit 7e4cacf9ea12d697d6c48b83a28c12d47ab8cfae.
JCLOUDS-264 Conditionally allow default http driver to support sending >2GB payloads without chunked encoding.
Revert "Prefer ByteSource payload"

This reverts commit 0e3d1475ab50e1232d5eac16eee1d3a207e36f42.
JCLOUDS-652 Pin filesystem api to Java 7+.
JCLOUDS-750 Allow abstract value types to be constructed from json using static factory methods.
JCLOUDS-750 Added @SerializedNames which can apply to either a constructor or factory method to capture the corresponding json field names.

Removed wildly confusing mixed naming of constructor params feature.
JCLOUDS-750 allow apis to bind FieldNamingPolicy, which controls fallback naming policy of serialized fields.
Fixed bug found in docker provider where deserialization constructors don't handle json null.
Extracting Guava version into a property

This allows it to be overridden in CI jobs etc.
Re-adding Reflection2.constructor

Removed in 671749d but used downstream in jclouds-labs
JCLOUDS-761: Delete disk if image operation fails in ElasticStack