Atomic ref update

This commit provides atomic ref update so that multiple api server updating the same ref list can update it without overwriting each other's changes.
We are creating a new POST API 'ref-update' that can be used to update an individual reference. An accompanying change in generateDS.py is required.