Fix all jshint errors that are really errors.
DRY in path_line.html.
Turn on template autoescaping, both server- and client-side. Repair bug 974626.

Add a few |safes to templates that are used on the client side, because there's no Markup class equivalent there. Oh well. We'll just have to be careful.

Change the protocol for plugins to say "html" instead of "text" in context menu hashes, since that *is* HTML, and they're responsible for escaping it. (It's HTML because that's what it has to be for the JS to bold the "Search for substring *such_and_such*" item.) This required bumping the format version.

Also fix a few places where URL quoting wasn't right. I doubt I got all of these. In particular, I think querystrings are supposed to have + instead of %20.