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.
These aren't strictly the same, since `isSame` didn't compare the `name` between StoreFileMetadata objects. Is it okay that they will now only be equal if the name is the same?