Sort search results by relevance

Relevance is decided as a function of how early in the course title the
search term is, as well as how early in each of the words of the course
title the search term is.

This fixes #234.