Cleanup StoreFileMetadata.java

StoreFileMetadata.java uses a `isSame` methods which is essentially `equals` I think we should clean it up and also provide a `hashCode` implementation.
It feels wrong that hashCode is using writtenBy while equals isn't