ted automatically from 'replacements',
but 'moves' can be used to override that. Also, 'moves' may include
additional bookmark moves that should not have associated obsmarkers.

replacements is {oldnode: [newnode]} or a iterable of nodes if they do not
have replacements. operation is a string, like "rebase".

metadata is dictionary containing metadata to be stored in obsmarker if
obsolescence is enabled.
Nrf