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.
Wouldn't this violate reflexivity requirements for equals()?