bookmark: add methods to binary encode and decode bookmark values
Coming new bundle2 parts related to bookmark will use a binary encoding. It
encodes a series of '(bookmark, node)' pairs. Bookmark name has a high enough
size limit to not be affected by
issue5165. (64K length, we are well covered)
tests: remove {a..h} bashism from remotenames
I'm not bothering with a check-code test because this is a weird
construct that I didn't even know existed before it was breaking the
BSD build, and it also appears to fail if /bin/sh is dash like it is
on our Linux builder.
Differential Revision: https://phab.mercurial-scm.org/D1605
hgweb: move common vertex code to Graph.prototype
Just to give some context to the return values: vertex() needs to return two
HTML elements as strings, <li> to be used as a background and a <li> to be
shown in foreground. The latter was made obsolete recently when changesets
started to be rendered server-side, but background elements are still useful
for now.