Rename `Scope` to `Mapping` and make it @api private

This class is not revealed in the README as part of the public API and
shouldn't be considered API public. Remove tests since they are covered
in `query_spec.rb`.
Add convenience API for modifying query params

* Rename `Paraphrase::Params` to `Paraphrase::ParamsFilter`.
* Expose `Query.param` for providing a block to pre-process a query
  param. The block is used to define the method on the `ParamsFilter`
  class.
* Define a `ParamsFilter` class for the `Query` subclass on inheritance
  so it is always available for customization via reopening the class or
  the `param` class method.
Enable defining scopes in `Query` class

* Add a `Repository` class that takes over chaining scopes onto an
  existing relation. A `Repository` sublcass is defined for the `Query`
  subclass on inheritance.
* `Repository` class can be re-opened to define
  scopes or `Query.scope` can be used to define methods on the
  `Repository` class.
Cleanup errors

Define all errors in one place. Override `#initialize` to customize
error message.
Cleanup `require`s