Use a single SectionUrl object in the TOC, rather than per match

This is particularly impactful in the interp/subterp pages (as there are a lot of unseen TOCs).

Using a single SectionUrl allows for some per-request caching (rather than needing to decode the pickled results from django's cache).