Fix package search problem where very common term returned no results

For performance reasons, we try to limit the number of documents we
have to score. For example if you used lots of terms covering lots of
documents, we could end up having to rank them all. So we use a common
trick which is to sort the terms by the number of documents they appear
in, and then just take the first few, until we have plenty -- but not
too many -- docs to rank. Since terms that occur in many docs
contribute little to the score, we can ignore docs that only have the
frequent terms and not the less common ones.

The problem was that if the first (ie least common) term already put us
over our limit then we would end up returning no documents at all! This
happened in practice for 'process' and 'time' (both terms occur in the
description of many packages, as is or as the stem, e.g. 'processing').
So now we take the first one no matter what. So now we should always
get some results, unless you search for one of the stop words.

Fixes #64.
Fix build with base-4.6