Transactional interface to references
Create a new transaction object
Lock a reference
Set the target of a reference
Set the target of a reference
Set the reflog of a reference
Remove a reference
Commit the changes from the transaction
Free the resources allocated by this transaction