Make request property lazy loaded & fix most sorting issues.

Make the request object access happen only when it is required instead
of during the constructor.

Remove automagic detection of associated fields and virtual fields
(which don't exist yet). If you need to sort on associated fields, you
will need to use the whitelist features. CakePHP will only check the
primary table being pagintaed for columns. This keeps the magic to
a minimum and still affords prototyping.
Remove tests that are no longer applicable.

Sorting on related fields and calculated fields now uses the whitelists,
which are already covered with tests.
Move sort whitelists into the settings.

Having one inclusive set of settings makes configuring
PaginatorComponent much simpler.
Add Query::page()

This method is a simpler to use version of limit + offset which also
provides some backwards compatibility with older versions + find() that
was in them.