Fixes #243 Tuples should no longer be squashed in the event store

I had to modified the autogenerated version for 2 reasons- subclasses with this equals method will not work when getClass() is being compared. The subclasses just provide constructors for setting the internal properties. Also- the hashcode and equals can't contain the shard because of the way the class is used.