query.c: Enable intersection, subtraction and reversal

Results are sorted by the score of the first keyword.  If a '~' is prepended,
the results are returned in reverse order.

When multiple keywords are entered, the intersection of their results is
returned.  If a '-' is prepended to a keyword, the intersection is performed
against the complement of that keyword.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Switch to using float for score in inverted index

This is a temporary measure until a good compression scheme can be worked out.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>