Add ElasticSearch support via SearchKick

Two things are needed to run this locally:

 1. install and run [ElasticSearch](http://www.elasticsearch.org/)
 2. reindex with “rake searchkick:reindex:all”

Implements feature request #227

# What's new

 * We now have a real search functionality, supporting multiple words, misspelling correction, fields are weighted by importance, etc. There is a lot of other functions that SearchKick supports that we can easily add when we need them.
 * I removed the overly restrictive limit of 2 results maximum, and set it to 25 as in empty search, but this can be changed - BTW, SearchKick also supports pagination, if want to use it in the UI.
 * Removed “singularize” call on queries - SearchKick handles that on its own.
 * I also added slug support to guides.

# What's next

We need to choose a heroku-compatible vendor of ElasticSearch. @rickcarlino mentioned [Bonsai](https://bonsai.io/), [SearchBox](http://www.searchbox.com/) or [Found](https://www.found.no/), but I don't have any experience with this, so I will leave the choice to someone else.
Prefer single-quoted strings when you don't need string interpolation or special symbols.