Disable timed temporary signed URLs for AWS-S3

This functionality uncovered subtleties in URL parameter encoding
which result in random failures integration tests.  References
JCLOUDS-200.
Added method to generate the AuthorizationException with only a message
Support IAD region for Rackspace providers.
JCLOUDS-235. Add support for datadisks to CloudStackTemplateOptions

Also adds support for the new options to
CloudStackComputeServiceAdapter, unsurprisingly. Also got rid of the
in fact wrong mutual exclusivity of dataDiskSize and diskOfferingId in
DeployVirtualMachineOptions - that's a misleading bit from the
CloudStack API docs.
JCLOUDS-241. Added type, page, and pagesize to ListUsageRecordsOptions
and corresponding test cases. These are optional parameters for
listUsageRecords
http://cloudstack.apache.org/docs/api/apidocs-4.1/root_admin/listUsageRecords.html

Removed null check on usage id because this can be null.
JCLOUDS-242. Fix security group creation on aws-ec2

Contributed by Richard Downer.
JCLOUDS-242. Fixing AWSEC2SecurityGroupExtension based on JCLOUDS-242 fix.
Modify Strings2.urlDecode to input a string.

This is consistent with urlEncode.  Also consistently use urlDecoder in
DecodingMultimap for values.
Handle quoted ETags for OpenStack objects to fix JCLOUDS-247

This avoids a 'java.io.IOException: Unrecognized character: "' when a quoted ETag is encountered (which happens when getting a multipart blob from Rackspace Cloud).
Fix JCLOUDS-250 for the common case where blob names do not contain /
JCLOUDS-251: Swift: Delete chunks when deleting a multipart blob

Also:
- Make SwiftBlobIntegrationLiveTest.testMultipartChunkedFileStream more realistic by uploading a file large enough to be split into parts.
- JavaDoc fixes for SwiftBlobStore: don't reference nonexistent methods.
Handle large putBlob with filesystem blobstore

Previously large putBlob caused an OutOfMemoryError even with
repeatable Payloads.  Fixes JCLOUDS-248.
Enforce a non-negative content length
Skips tests for time signed URLs
JCLOUDS-150. De-async CloudWatch.
JCLOUDS-150. De-async SQS.
JCLOUDS-217: Only decode strings that are actually encoded.
* Update HttpRequestTests to account for change in urlDecode.
* Related to JCLOUDS-200
Skip testDirectory on S3

This test cannot succeed due to the way directories are implemented as
prefix pseudo-files in S3.
Allocate new container name using prefix

Before we used the previous container name, which kept appending and
hit S3 limits during integration tests like:

Caused by: java.lang.IllegalArgumentException: Object 'gaul-blobstore27-4348532805015069992-1155797412711190448-1465016400636204031' doesn't match S3 bucket virtual host naming convention. Reason: Can't be null or empty. Length must be 3 to 63 symbols.. For more info, please refer to http://docs.amazonwebservices.com/AmazonS3/latest/index.html?BucketRestrictions.html
Simplify testPutFileParallel

Create only one temporary file and use explicit delete instead
finalization to remove it.