Allow a per-tree setting to specify the character encoding used by the source code.
Remove an assumption about how HTML encoding and character set encoding
interact at the possible loss of some efficiency.
Get a failing test. Support case sensitivity from the querystring to the Query object and in enough of the test harness.
order search results alphabetically
Update to a version of trilite that supports case-insensitive searches.
Add case-insensitivity support for negated text queries.

Factor up to create found_files() method in test harness. This comes in handy for making negative assertions about what's found: you don't have to brittle-ly list all the things that *are* found.
Add front-end support for case insensitivity.

* Switch from "1" to "true" for case-sensitivity querystring param, for consistency with the redirect param.
* Tighten the window of query-timing so it's just a tad less wildly uninformative.
* Rig it so clicking the Case-sensitive checkbox redoes the search.
* Factor out some repetition with regard to re-running searches.
Add some quick and dirty layout for the Case-sensitive checkbox to last us until the UI branch lands.
Add (and default to) case-insensitive searching for free text. Fixes bug 813524.

The checkbox does not, at the moment, affect structural queries.
Bump the format so the new case-insensitivity JS doesn't freak out when the built index pages have no case-sensitive checkbox to grab onto.
Merge ncameron's patch to make search results alphabetical by file. Close #196.

They were random before. Now at least .c files will come near their .h files (his use case). Someday, we'll have some kind of sensical ranking.
Put a hard limit on search results to head off an easy DOS.
Oops: min, not max
Allow a per-tree setting to specify the character encoding.  Close #165
Merge master into ui, mostly to get case-insensitivity.

Had to rewrite case-insensitivity for the from-scratch JS on the ui branch, but it's much nicer now.

Of note:

* Removed an unused (even before the merge) .case CSS selector.
* Twiddled the case checkbox markup to put the label tag around it, so we could apply "white-space: nowrap" and avoid the checkbox ever being abandoned on its own line as the viewport narrows.
* Bumped format version because the new JS expects a case checkbox with a new ID.