Warn when using pysolr < 3.1

pysolr 3.2 has been released. This commit removes the workaround we had
to do to get pysolr 3.1 not failing loudly on Solr 4 error messages.
Instead, we warn the user, and document that one needs to ugprade.
Also cache database call in SearchHandler

Previously, only the search backend call was cached. With this commit,
we also cache the model loading, hence avoiding unnecessary database
queries.
SearchHandler: Raise more descriptive InvalidPage exception

This is done instead of raising the more generic ValueError.
Redirect on invalid page numbers

We did not catch the InvalidPage exception (or the ValueError that the
SearchHandler previously raised). We now do so, and redirect to page one
of the search results with a warning.

Closes #1490.