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.
Java eagerly evaluates all arguments, so we build this string every time.  Instead you can call the multi-argument constructor which will only build the formatted string when the assertion fails:

```
checkArgument(description.length() <= MAX_DESC_LENGTH,
      "Description can't be longer than %d characters but was %d",
      MAX_DESC_LENGTH, description.length());
```