Add a Searcher class for matching contacts using PgSearch.

Abstracting the search into a separate class should help reduce the
complexity of the Contact class, and make it simpler to switch the
search engine later without breaking a lot of tests and having to change
controller code etc.