topic: invalidate the topic cache when branchcache is invalidated
The branchmap is cleared in the superclass function, but I didn't see any sign that this is ever cleared.
This fixes an issue in TortoiseHg where stale topic labels appear in certain
cases, such as if a commit has a topic and is stripped, and an unrelated commit
is pulled in from a remote repo. Additionally, it fixes an issue with the topic
display in TortoiseHg and cmdserver when using hg rollback. In the new test,
the result of the command that applies topic2 without this fix was:
6 d (topic2)
5 c (topic2)
4 b (topic1)
0 a ()
The tie in was that rev 4 used to be topic1 before the rollback. Also note
that without the fix, the final log command printed the following, even though
it showed no signs of topic1, and nothing should have changed:
active topic 'topic1' grew its first changeset
(see 'hg help topics' for more information)