Validate that 'start' and 'count' are positive

This changes the SearchResultsPresenter to raise an exception on 
initialize if either the 'start' or 'count' params are negative.

This means that we can simplify the has_next_page? and 
has_previous_page? methods.
Don't allow a negative 'start' parameter at /search

This changes the SearchController to override the 'start' parameter to 
be zero if the value is negative. 

This corresponds to changes to the SearchResultsPresenter in the 
previous commit, and it will also prevent 503s caused upstream by 
Rummager rejecting 'start' parameters which are negative or non-numeric.