Set Content-MD5 only if ETag has correct format

Previously this check was more lenient than it should have been.
Correct unusual equals implementations

Found with FindBugs.
Avoid unnecessary boxing

Found with FindBugs.
Miscellaneous FindBugs fixes
Add suppressions to FindBugs
Enforce Override annotation via Checkstyle

Also remove bogus inheritDoc on base and static methods.
Further FindBugs fixes
Address masked fields FindBugs warning
Add missing ec2 mock expectations

Regression from 8f8b6dd.
Updated api-version and removed upper bounds wildcards for extension APIs
Ensure that deprecated methods are fully annotated

Found with Google error-prone.
Remove ByteStreams2.asByteSource

This method is dangerous since all ByteSource should provide a new
InputStream on every call to openStream while the method returns the
same InputStream for non-repeatable Payloads.
Ensure that Content-MD5 has 128 bits

Update many tests Content-MD5 headers and ETag responses.
Reset xattr on overwrite in filesystem provider
Address Checkstyle violations
JCLOUDS-699: Properly deprecate OpenStack Nova zonescoped package
JCLOUDS-706: Upgrade Azure API to 2012-02-12

This will allow use of Azure after August 2015:

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/08/05/microsoft-azure-storage-service-version-removal.aspx
Address Checkstyle violations
Improve XML compatibility with trace-level logging

Some providers, notably Azure, include a byte-order mark in their XML
responses.  ParseSax.apply buffers these responses in a String when
users enable trace-level logging to include the response in any thrown
exceptions.  InputSource(InputStream) skips these byte-order marks
while InputSource(Reader) does not, yielding a SAXParseException.
Skip test when filesystem does not have xattr

Addresses regression from a104944 seen on CloudBees.