Combine search keywords with AND.

When esearch is given multiple search keywords, show only those packages
which match ALL keywords. Previously it would run searches and show
results for each keyword independently. The new behaviour is much more
useful and is hard to emulate by other means. The old behaviour is equivalent
to just running esearch multiple times with different keywords.

Some unrelated miscellaneous cleanup snuck in here too.