add search to UC

@miltontony I get the potential error, but don't follow the python logic. Which method am I putting this in? Or do I create another method to return the array and have `page_numbers()` as a private function? 

I could fix this in `cms_view.py` with ```if (p >= paginator.total_pages()):
            return empty_defaults``` because the only case where we will get an out of range error is if the user enters a page number that is too large in the url. I can then redirect it to the 404 page once that's up?