fix: include cleanupnodes() in transaction
As pointed out by Yuya, we need a transaction to make sure the state
before the call to cleanupnodes() is not observable.
Differential Revision: https://phab.mercurial-scm.org/D3823
{header}
<id>{urlbase}{url|urlescape}</id>
<link rel="self" href="{urlbase}{url|urlescape}atom-bookmarks"/>
<link rel="alternate" href="{urlbase}{url|urlescape}bookmarks"/>
<title>{repo|escape}: bookmarks</title>
<summary>{repo|escape} bookmark history</summary>
<author><name>Mercurial SCM</name></author>
{lastchange%feedupdated}
{entries%bookmarkentry}
</feed>