Start converting PaginatorComponent to use the new ORM.

Start removing some cruft here and there around 'scope' which I think is
almost entirely unused & undocumented. Remove the calls to paginate()
and paginateCount. The new finder system + Query API is more than
flexible enough to allow any userland queries without requiring two
methods that have very odd signatures.

Recursive has also been removed as it no longer exists - yay.
Remove lies in PaginatorHelper doc blocks.

There is no format option anymore.
Add test stub for PaginatorComponent tests & fix tests.

* Add test stub. This class is used in a number of paginatorcomponent tests.
* Remove many duplicate and pointless tests.
* Update internals to reflect ORM features.
* Simplify test cases with helper methods.
* Remove unused classes. These classes are still referenced in the test
  cases that are marked as incomplete, but those tests will need significant reworking anyways.
Undeprecate Controller::paginate() and refactor code.

* Un-deprecate Controller::paginate() as it now serves as a way to
  automate some behavior that does not belong in the PaginatorComponent.
* Move adding the PaginatorHelper into the controller method.
* Remove PaginatorComponent::settings. Settings are now passed into the
  paginate call, allowing PaginatorComponent to maintain very little
  state.
* Update the various tests.
Update bake templates for paginate method changes.
Fix not checking modelClass and uses in paginate()

These used to be valid places where the model to be paginated would be
searched for. Continue searching in those places.
Update method usage to match changes in 3.0

Query::total() was renamed to Query::count().
Fix coding standards.
Add some todo's so I don't forget.
Update doc blocks and add an early return.
Fix COUNT(*) with group by operations.

Both group by and mapReduce should work with count.
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.
Clean up controller a bit

Remove some magic methods + add missing properties whose warnings were
hidden by __get() and __set().

Fix a few failing tests that relied on magic methods, and skip tests
that are currently broken because model loading is incomplete.

Also fix Controller::paginate() not accepting a Table instance.
Fix error in paginatorhelper that prevented URL generation.

Fix errors in URL generation where page numbers were always broken.
Remove test skip from upstream.
Merge pull request #2359 from markstory/3.0-paginator-component

3.0 paginator component