store all heads of a branch in the branch cache
All heads of branches will be stored in a new cache file 'branchheads.cache'
within the .hg directory. The old 'branch.cache' file from older versions
will be ignored.
The new cache contents are formatted line-by-line as '{node} {branchtag}\n'.
This is the same as the previous format. Now, every head is recorded in
an oldest -> tipmost order.
The localrepo.branchheads function is reworked to use the data from the cache.
% no diff if hardlink
% init
adding foo to series file
applying foo
now at: foo
adding bar to series file
applying bar
now at: bar
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar
%
foo
bar
%%%
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
%
foo
%%%
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
430ed4828a74fa4047bc816a25500f7472ab4bfe bar
%
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
430ed4828a74fa4047bc816a25500f7472ab4bfe lbar
%%%
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
%
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo