big checkpoint commit. added some functions to util for tracking browsing context (those key=value params to urls) since there are already a few and now i'm adding some more: 'remember' and 'compare_revid'.
'remember' is a remembered revision_id that gets carried around if you click on a "compare this revision to another revision" link on the revision page. afterwards, whenever you're on a revision page, you can click "compare to revision [x]" and it will switch 'remember' to 'compare_revid' and show the revision page with a diff as compared to the remembered revision. this is to allow arbitrary diffs. i'm not sure the ui is great, though.
bundle is also hooked up this way, so you can download an arbitrary bundle.