Search pagination

Add pagination to search results, default 20 results per page

For example, if you search for `q=introduction`, you'll get 5 results.
You can force pagination by searching for `q=introduction&per_page=3`.
You will get 3 result items instead of 5 and you can fetch the remaining
2 items by doing `q=introduction&per_page=3&page=2`.

Search results `query` will now contain the `per_page` value and `page`
number.  Search results will only return 20 `items` by default.
Everything else in the search results remain unchanged.