Migrate InputSupplier callers to ByteSource

A future version of Guava will remove InputSupplier.
Replace InputSupplierMap with Map<K, ByteSource>

A future version of Guava will remove InputSupplier.
Address CheckStyle violations
Replace deprecated calls to LoadingCache.apply
Updating EC2 test mocks to match changes in 79c289d
JCLOUDS-571 - Fix build to suppress maven parent.relativePath warnings at start of build
Fixed format and removed the trailing spaces
Override hashCode when equals overridden

Java 8 added a warning for this:

https://bugs.openjdk.java.net/browse/JDK-6563143
Add missing @Override annotations
JCLOUDS-573: Make sure to destroy all nodes created in the tests
Prefer ByteStreams over ByteArrayOutputStream
Prefer Guava Hashing over MessageDigest
Use ByteSource methods to create test input

Also avoids excessive system calls due to unbuffered writes.  Finally
migrate repeatingArrayByteSource to ByteSources.
Prefer File.delete over File.deleteOnExit

The former has deterministic behavior and avoids resource leaks.
[JCLOUDS-392] Remove dependency from Maps2. Make jclouds-core packages optionally imported from jclouds-scriptbuilder.
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