Update the head of a gitty store for Name. OldCommit is the
current head and NewCommit is the new head. If Name is created,
and thus there is no head, OldCommit must be -
.
This operation can fail because another writer has updated the
head. This can both be in-process or another process.