Use HashingInputStream to avoid buffering Payload
Upgrade to Surefire 2.17
JCLOUDS-402: Allow Guava MediaType Content-Type

This promotes type-safety.  Keep the String interface for unknown
content types.
Remove BlobBuilder and Payloads.calculateMD5

Callers should instead explicitly set contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers.  Further it removes a dangerous
rebuffering of arbitrarily-large non-repeatable Payloads.
Address Checkstyle violations
Increase timeouts for signed URL tests

Clock skew between the client and blobstore can cause these tests to
spuriously fail.  This commit allows 5 seconds skew in either
direction.
JCLOUDS-517: New ElasticHosts images and regions

Added the new ElasticHosts regions.

Updated the ElasticStack api to get the list of standard
drives using an API call. All providers except ServerLove
support the new API call, so the old logic in the ElasticStack
api has been moved to that provider. The rest of providers will now
extract all the OperatingSystem information by parsing the name of the
StandardDrive.

A unit test has been added to the ElasticStack api with all the images
that were hardcoded, to make sure all names are still parsed as expected
and all information in the existing providers is kept.

Modified the default template for all ElasticHosts providers to
match newer Ubuntu images and updated the Template*Live tests
accordingly.

Also refactored the WellKnownImage map to a supplier to lazy load it
when needed and avoid unexpected errors when building the Guice injector
if there are authentication errors or similar.
JCLOUDS-570: Fallback to the GetImageStrategy

If the TemplateBuilderImpl is given an imageId but the image can not be
found in the image cache, fallback to the GetImageStrategy to perform a
call to the provider to try to get it.

We've seen that in some cases images are not returned in the image list
but they actually exist in the provider. This fix won't make them
available when filtering by other properties such as the operating system,
etc, but at least will make them available if their id is known.
JCLOUDS-546: Remove Javadoc @author annotations

Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
JCLOUDS-546: Enforce no Javadoc @author annotation
Upgrade to findbugs-maven-plugin 2.5.4

This also upgrades FindBugs to 2.0.3.  Notably this improves
compatibility with Guava constructs.  Changelogs:

https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11701&version=19833
http://findbugs.sourceforge.net/Changes.html
Adding a test to check for JCLOUDS-278

Contributed by Bill Branan.
Cleaning up Checkstyle violations from b1c1636 and 39f77ad