Limited (gated) support for bookmarks
This makes pushing bookmarks in Heptapod gated and consistent.
The main use cases are repositories that track multiple branches of a Git upstream, as Heptapod's own repos need to do.
Before this MR, pushing bookmarks to Heptapod was coincidentally possible, and that was both too much and not enough:
- pushing bookmarks should not be allowed by default
- bookmarks and topics should not be mixed both for technical and functional safety reasons
- multiple bookmarked heads on a branch should not be considered to be multiple anonymous heads. With !9 (merged), this has become useless pollution, and before that was a hard error, mostly making bookmarks useless in practice.
WIP because:
- there's room for improvement in user feedback
- we may want to namespace the corresponding Git branches
- last commit of the stack is debatable and not finished anyway (pruning of GitLab branches related to Hg named branches whose heads are all bookmarked)
Edited by Georges Racinet