Search Refactor: Let's use a class to keep track of our state rather
than passing params everywhere. Also make the private API private.
Search Refactor: Remove some manual SQL, make search data tables more idomatic Rails/AR