context: implement mergestate() method
This will let us have the mergestate storage be controlled by the context. In
particular, for working contexts we should use the existing mergestate, but
for overlay contexts it's inappropriate to drop files in .hg/merge.
Differential Revision: https://phab.mercurial-scm.org/D8551
{header}
<id>{urlbase}{url|urlescape}</id>
<link rel="self" href="{urlbase}{url|urlescape}atom-branches"/>
<link rel="alternate" href="{urlbase}{url|urlescape}branches"/>
<title>{repo|escape}: branches</title>
<summary>{repo|escape} branch history</summary>
<author><name>Mercurial SCM</name></author>
{latestentry%feedupdated}
{entries%branchentry}
</feed>