JCLOUDS-597: HashCode methods for Content-MD5

This works more naturally with Guava Hashing methods and immutability
provides better safety guarantees.  Also deprecate existing byte[]
methods.
NodePredicates gained static predicate SUSPENDED

Replaced hard-coded Strings in toString methods of static predicates with their enum.toString counterparts

Added test 'testNodeRunningFailsOnSuspended'

Revert "Added test 'testNodeRunningFailsOnSuspended'"

This reverts commit 2a543bfe20540bb4f10ef4f86e845a63bdbe90e3.

Removed test 'testNodeRunningFailsOnSuspended'. Added test 'testNodeSuspendedReturnsTrueWhenSuspended'.

Renamed '

Revert "Renamed '"

This reverts commit 061e9292a812066562ab47ba5eea15337fc13c3d.

Renamed 'AtomicNodeSuspended.nodeRunning' to 'AtomicNodeSuspended.nodeSuspended'.\nWhere applicable combined all calls to 'replay(Object...)' instead of the old 'replay(node);replay(computeService);'
JCLOUDS-582: Enhancements to availability zones api
JCLOUDS-471: Adds pool field to FloatingIP and updated related tests.
Fix replaceAll regex to handle spaces correctly
Upgrade to OkHttp 1.6.0

This upgrades both drivers/okhttp and mockwebserver.  Changelog:

https://github.com/square/okhttp/blob/master/CHANGELOG.md
JCLOUDS-588: Register discovered images in the image cache

Images were cached in memory using a memoized supplier. To allow growing
this cache with the discovered images, the ImageCacheSupplier class has
been created. It provides an in-memory cache with all discovered images
and acts as a view over the image cache that also provides access to
them.

The in-memory cache for the discovered images expires with the session,
just as the image cache does.

The default memoized image supplier has been changed to the
ImageCacheSupplier, to make sure all providers get injected the right
instance, and the old supplier has been qualified with the 'imageCache'
name, in case a provider needs the basic image cache.
JCLOUDS-455: Add get() method to KeyPairApi
JCLOUDS-602 - Add support for volumeType, iops and encrypted to EBS.

Adds CreateVolumeOptions for volume creation, adds support for the
above EBS configs in Image, Volume, BlockDeviceMapping, etc.
JCLOUDS-602. Added live tests for new EBS volume fields.

While they're implemented in apis/ec2, the tests are in
providers/aws-ec2, generally, to make sure ec2-alike clones won't barf
on them. We're exercising creation of volumes, images and instances
with the new options. I also had to do some sketchy wait-and-loop'ing
in AMIAPILiveTest.testCreateAndListEBSBackedImage() due to what seems
to be a delay on new AMIs showing up in filtered DescribeImages calls,
though they'll show up instantly when you specify the image ID. Go figure.
JCLOUDS-589: Reauthenticate on Keystone HTTP 401

This commit ports the Keystone 2.0 fix from JCLOUDS-178 to Keystone
1.1.
Fix for JSON parse error on createNodesInGroup (JCLOUDS-558)
JCLOUDS-584: HP Cloud Object Storage Fixes for 13.5
Avoid unnecessary object creation

Prefer StringBuffer.append(string, index1, index2) over
StringBuffer.append(String.substring(index1, index2).
Use more specific testng asserts where possible

These asserts yield more informative error messages.  Found with:

grep -rI 'assertTrue(.* =='
grep -rI 'assertTrue(.* !='
grep -rI 'assertTrue(.*\.equals('
JCLOUDS-610: Return the affected nodes from resumeNodesMatching, suspendNodesMatching and rebootNodesMatching

Methods have been refactored to match the functionality provided by destroyNodesMatching.
JCLOUDS-594: ComputeService.suspendNodesMatching throwing UnsupportedOperationException but call still succeeds