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.
Errors
- gitty(file_exists(Name) if the file already exists
- gitty(not_at_head(Name, OldCommit) if the head was moved
by someone else.