JCLOUDS-126 - Support and tests for region selection in swift-keystone BlobStore
JCLOUDS-160: Support tags in EC2 images

Based on the work made by Brock Noland
Added test environment for Quantum v2.0 client

This patch adds test environment for the future
Quantum v2.0 client implementation.

Signed-off-by: Andrey Trubitsyn <andrey@sentilla.com>
Checkstyle fixes
A 401 error should result in re-authenticating for a new token
Quantum renamed to Neutron
Add Swift-specific MD5 checksum header

Tested against cloudfiles-us, hpcloud-objectstorage, and
swift-keystone.  Reference for ETag:

https://answers.launchpad.net/swift/+question/157064
JCLOUDS-161: large blob support for Azure

Large blob support for AzureClient; the next step of this is to
support PutOptions.multipart and digest a blob into 4M parts. This
just implements the Azure interaction.
Set provider id in AtmosClientLiveTest

This allows Atmos live tests to run.
[trivial] demote Boolean to primitive
Add Atmos-specific MD5 checksum header

Tested that Atmos Online and Synaptic Atmos both enforce this.
Upgrade to gson 2.2.4
https://issues.apache.org/jira/browse/JCLOUDS-117
Introduce StripExpectHeader filter and a property to control it.

Some providers (specifically HP Cloud and Google Cloud Storage) do not
properly support Expect: 100-continue headers. JDK7 is stricter in its
handling of the Expect header than JDK6 -- in particular, it expects
servers to properly respond to an expect header and times out only if a
prior timeout did not exist on the underlying HTTP connection. As a
result, JDK7 tests against these providers hang and fail.

This commit introduces a new filter -- appropriate called
StripExpectHeader -- that is controlled by the property
jclouds.strip-expect-header. The property defaults to false to preserve
existing behavior but allows applications to tweak Expect header
handling.

Tested by running HPCS live tests with JDK7 -- previously most of these
tests would fail with timeouts.

Closes JCLOUDS-181