Add docs for events.
Start tests for magic finder methods.
Basic implementation of magic finders.

* Support generating conditions based on method.
* Allow first and all to be used as find types.
* Allow 'and' and 'or' operators.
Add tests for applying an order with magic finder.
Throw exceptions when and & or conditions are mixed.

Previous implementations of magic finders would just do the wrong thing.
Throwing an exceptino feels safer and more explicit.
Rename magic => dynamic.
Remove ordering parameter from dynamic finder.
moving the unsigned fixture to the right 3.0 place
Merge pull request #2411 from AD7six/3.0-unsigned-fixture

moving the unsigned fixture to the right 3.0 place
Use preg_match to allow all kinds of finders.
Merge branch '3.0-magic-finder' of github.com:cakephp/cakephp into 3.0-magic-finder
Remove find first from dynamic finders.

Instead you can call ->first() on the query object returned.
Add API docs for dynamic finder methods.
Cast the events before iterating it.

This prevents foreach errors when using mocks.
Make table objects event listeners.

Use the same conventions as behaviors for mapping event names to
methods. Table objects bind their events **after** the initialize
callback. This allows them to have the same sequencing as controllers
+ historical behavior.

Refs #2410
Merge pull request #2409 from markstory/3.0-magic-finder

3.0 dynamic finders
Merge pull request #2416 from markstory/3.0-table-events

3.0 table events
rename decorate results and decorate statement

in this way, decorateResults calls ResultSetDecorator, which is less
likely to be confusing, and _decorateStatement decorates a statement

closes #2413
Merge pull request #2417 from AD7six/3.0-rename-query-formatters

rename decorate results and decorate statement
rename pivot to junction

junction is a more familiar alternate name to "join table". The name
join cannot/shouldn't be used as it could easily be confused with a
function to join a table into a query, rather than a method for
getting/setting the table name/instance for the join table.

closes #2391