tests: test-convert-cvs-synthetic.t requires cvs 1.12

9589227657bc introduced hghave cvs112 10 months ago. Let's assume it has
stabilized so much that we can start using it now.
commands.bookmarks: separate out 'no bookmarks set' status messages

Upcoming patches will acquire the wlock for write operations, such as make
inactive, but not read-only ones, such as list bookmarks. Separate out the
status messages so that the code paths can be separated.
commands.bookmarks: hold wlock for write operations

Any invocations of bookmarks other than a plain 'hg bookmarks' will likely
cause a write to the bookmark store. These should be guarded by the wlock.

The repo._bookmarks read should be similarly guarded by the wlock if we're
going to be subsequently writing to it.
commands.bookmarks: pass cur in explicitly to checkconflict

cur will be moved inside the wlock in a future patch, so we need to pass it
into checkconflict explicitly.
commands.bookmarks: move cur initialization to inside wlock

This is more correct because we now fetch '.' while nothing else can interfere
with it.
commands.bookmarks: move hexfn to inside list block

This isn't used outside this block, nor is it expected to be.