Allow configurable ResourceController implementations.

This allows a different class to be specified to replace
PhlyRestfully\ResourceController when constructing controllers through
the factory.  A restriction is kept to ensure that the replacement
controller extends the original controller.

This allows users of PhlyRestfully to further configure the behaviour of
the controller if necessary.

* Modification to default configuration add a new "controllerClass"
  parameter, defaulting to the current ResourceController.
* Modification to the factory to construct the specified class instead
  the hard coded PhlyRestfully\ResourceController.
Allows the page_size value to be passed in the request.

It is a frequent requirement that API clients can indicate the number of
results that they require, rather than the API providing a fixed number
of results.

This change allows resources to specify a page_size_parameter which is
used to indicate the name of a query parameter which indicates the
number of results to return.

* The default behaviour remains unchanged.
* Allows each resource to specify the page_size_parameter, which is
  handled by the factory and assigned to the controller.
* Adds a pageSizeParameter to the ResourceController, which is used
  to extract a query parameter from the request; if not provided, the
  pageSize is used instead.
Merge branch 'configurable-controller-class'