More equals, hashCode and toString.
Merge pull request #554 from square/jwilson_0223_equals_hashcode

More equals, hashCode and toString.