Refactor Events Controller

This refactor moves the filtering, sorting and text query logic out of
the `EventsController` and into a `EventFilter` service. No business
logic has been changed.

Additions and Changes:
1. `select!` and `order!` were introduced to ensure the query structure
remains as originally intended
2. Default sorting option added
3. Strong Parameters were introduced.