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.
#!/bin/sh
# http://www.selenic.com/mercurial/bts/issue433
hg init a
cd a
echo a > a
hg commit -Ama
hg parents -r 0 doesnotexist
true