Minor doco fix.
Minimally robustify hashCode and toString.

Under concurrent modification, hashCode could end up returning 0
and toString could return a null reference since they returned
their updated values from the newly-written field. I modified both
to keep the new value in a local variable and return that, so even
if another thread has just invalidated that result the return
value will still be within an expected range.

This does not guarantee these methods won't raise an index-related
or other exception; it just guarantees these two methods won't
return totally bogus values.

Fixes #3.
Move to Sonatype for releases.