In-memory implementation of the Exgit.RefStore protocol.
Used by Exgit.clone/2 when no :path option is given (the
default), and by clone(url, lazy: true) regardless of whether a
path is set (lazy+disk isn't yet supported).
All operations are pure over a struct value; there is no shared ETS table or process. Two holders of the same struct see the same refs.