JCLOUDS-510 Delete objects in a container efficiently.

The existing approach for deleting objects in a container suffers
from a head-of-line blocking problem. This commit implements a better
scheme which does not have that problem. This scheme uses a counting
semaphore for making sure that a certain number of futures are
issued in parallel. As each of these futures is completed, one
permit of the semaphore is released.

Added unit tests for testing this new scheme.
JCLOUDS-516: Add ssh agent support via sch agentproxy
JCLOUDS-347: Implement a poor-mans rollback if CloudStack static NAT creation fails
JCLOUDS-515: Don't require availability zone when creating volumes in cinder
Supporting uppercase user names in Azure blob live tests
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
Correcting 4-space indent in openstack/nova/v2_0/domain/Server.java

Follow-up to 222779b
Add ability to attach block volumes at boot through the Nova ServerApi