JCLOUDS-473: Close FileInputStream in Wire.copy

FileBackedOutputStream.asByteSource.getInput returns a FileInputStream
which we do not close.  We later call FileBackedOutputStream.reset
which removes the underlying File.  This fails on Windows which does
not support deleting an open file and leaks resources on other
platforms.  Eagerly close to address this issue.
JCLOUDS-459: Limit maximum user threads

Previously jclouds could use an unlimited number of threads on its
user ExecutorService.  While this ExecutorService will go away when we
complete deasyncafication, we should prevent jclouds from misbehaving
until that time.
Deprecate StreamingPayload
Deprecate WriteTo

Use Payload.getInput and Guava helpers instead
JCLOUDS-342: Retry on HTTP 408 for swift

To repro issue 342, the following steps were taken:
 - Spawn 500 parallel / 2000 total putBlobs to cloudfiles-uk
 - issue a SIGSTOP
 - wait 60 seconds
 - issue a SIGCONT

Without this patch, there are several hundred 408s.
With this patch, these are retried and complete successfully.
Better documentation and a bugfix for cloud-init
JCLOUDS-460: Add jitter to avoid thundering herd

When issuing many simultaneous requests to Synaptic Atmos I observed:

HTTP/1.1 failed with code 500, error: AtmosError
[code=1040, message=The server is busy. Please try again.]

Previously all clients slept for fixed intervals and thus retried
around the same time.  This commit adds a random delay which should
better distribute load on the provider.
JCLOUDS-486 This will allow booting up nova servers with fixed IPs and ports.
Retry on S3 HTTP 504 Gateway Timeout status codes

RiakCS using the S3 interface occasionally surfaces these status
codes.
Remove Nova instance metadata limit

Rackspace cloud limits instance metadata to 5 key-value pairs, but
upstream Nova only sets the limit at 128 by default.  This patch removes
the limit entirely; the official python clients don't check it and the
server is responsible for enforcing it anyway.

Fixes:  https://issues.apache.org/jira/browse/JCLOUDS-507
JCLOUDS-516: Add ssh agent support via sch agentproxy
JCLOUDS-515: Don't require availability zone when creating volumes in cinder
JCLOUDS-489 - Adds support to Cloud Files for the iOS Streaming URI
JCLOUDS-423: Update Service Type for Cloud Files CDN
JCLOUDS-347: Implement a poor-mans rollback if CloudStack static NAT creation fails
Add deprecation warnings and provide links to new APIs
JCLOUDS-317: Add missing states to Nova v2 Server

- Deprecated state: STOPPED
- Add states:   MIGRATING, SHUTOFF, RESCUE, SOFT_DELETED,
                SHELVED, SHELVED_OFFLOADED
JCLOUDS-503 - Missing c3.large from AWSEC2HardwareSupplier
[JCLOUDS-474] refactor SoftLayer support
review - first round

initial support for public/private images and image extension