branch update via API
Problem to solve
I can create, read, and delete branches via the Gitlab API, but I can't update an existing branch.
Proposal
Add a new endpoint, PUT /projects/:id/repository/branches/[urlencoded-branch-name], which accepts { "new" : "sha or branch name", optional "old" : "sha" }
If old is present, the branch will only be updated if its current value matches "old" (as per git update-ref). If the branch doesn't exist, it will be created if old is all-zeros or not present.