JCLOUDS-457: Clean up for the validators and the TreeHash class.

Now the validators use checkArgument instead of throwing an
exception by calling an static method.

There were some missing validators on the Async client, these
were fixed too.

Lastly, TreeHash inner class was removed. Now the factory methods
are in the TreeHash class.
You can write this more clearly with `Long.bitCount`.  Recent JDK optimize this into a single x86 POPCNT instruction on modern hardware.