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