Reimplement list searching on top of http API

The new archives has a http api - use that one for searching instead
of directly talking to the database.

With the new API, we always fetch the complete search results (still
capped server-side at 1000 items), and store them locally in memcached
for 10 minutes. That way, paging will only hit the local memcached and
not the remote http api *or* the SQL api.