Raise an ArgumentError if required params missing

Until now, we've been returning empty resultset if required params were missing. There are some problems with
this:
  * for `search` it assumed the response was array, but this is being changed to hash
  * for `advanced_search` it assumed the response was array, but it is hash
  * it puts unnecessary knowledge of rummager into this gem

Alternatives to this change:
  * pass it to rummager and let it decide what to do (more network IO)
  * raise a custom error class (maybe inheriting from ``ArgumentError``)