Start skeleton of BehaviorRegistry and its test case.

BehaviorRegistry will be the replacement for BehaviorCollection in 3.0,
and follow the same pattern as HelperRegistry and ComponentRegistry.
Start implementing Behavior & tests for BehaviorRegistry

Add/remove/modify existing test stub classes, and make new base class
that does convention based event bindings. Add tests for various loading
situations.
Add stub methods and implement remaining empty tests.
Implement hasMethod() and call()

Expand the ObjectRegistry::_create interface to include the alias of
the object being built. This allows BehaviorRegistry to use this
information to build method caches. Update all the various
implementations around the framework as well.
Separate storage of finder and non finder methods.

This makes checking for method presence later easier and allows finder
methods to be not be confused with normal mixin methods. Use the 'find'
prefix as a way to identify finder methods.
Integrate behavior finders and behavior delegation into Table.

Add behavior finder method & behavior method delegation into Table. It
looks and works very similar to how it did in 2.x but with new classes
and I think a simpler design as pattern based methods have been removed.
Expand doc blocks.
Fix failing test caused by renamed files.
Fix coding standards errors.
Fix code review feedback.
Add an easy way to set callback priorities for behaviors

Behaviors often use priorities, make it easy to define the priority
of callbacks a behavior provides when binding it to a table.
Improve method mapping in BehaviorRegistry.

* Omit methods on base class.
* Use ReflectionClass instead of global functions.
* Ignore methods starting with _. This omits methods like __construct
  and other PHP magic methods.
* Make method lookups case insensitive as this is how PHP works
  internally as well.
Remove duplicate and outdated code.

The base class handles this now.
Add additional tests to verify listener identity.
Add method cache to BehaviorRegistry.

By caching the reflection results, we don't have to waste time
duplicating any reflection work. Classes in PHP are immutable, so we can
rely on their methods not changing.

Caching also gives a signifcant performance boost when the same behavior
is used multiple times.
Merge pull request #2207 from markstory/3.0-behavior

3.0 - New Behaviors