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
Do not eagerly check for existence in FilePayload

This is a TOCTOU violation and FilePayload.getInput already propagates
this.  This commit allows external callers like jclouds-cli to
introspect on the exception type, returning a more friendly error
message in some situations.
Expect exception from FilePayload.getInput

Previously the constructor threw this.  Fixes regression from ac58a70.
Cleanup of Azureblob code; as per pull request review. Additional items
not covered here are assigned specific bug ids.
Revert "Add Atmos-specific MD5 checksum header"

This reverts commit 98230e60a4e47c94ffe65f50470cf5ad51ca3f67.

This succeeded in my tests but integration tests fail.
Follow-up to Azureblob cleanup

See discussion at https://github.com/jclouds/jclouds/pull/66
Allow skipping duplicate-finder-plugin by setting skipDuplicateFinder property to true
JCLOUDS-195. Add egress firewall rules for CloudStack