Step one for moving implementedMethods logic

A behavior should be responsible for saying what methods it implements
allow configuring implmenetedMethods/Finders
allow behavior method aliasing

and change the way finders are stored to remove the find prefix
add test expectations for implementedMethods/Finders
reflection method cache should be static

I.e. apply to all instances of the same behavior class
Minor corrections/simplifications
explicitly define callable methods

It's an easy-win performance gain (by avoiding the use of reflections)
don't force strtolower in implemented* behavior methods

Since it's a public function don't leave open the possibility that
though configuration it doesn't "work" due to case changes. In the
behavior class, return without case manipulation - take care of that in
the behavior registry class.

Also add documentation for implemented* methods
use array_key_change_case and restructure cache

by consistently changing key case, when asking a behavior for which
methods it implements, a few strtolower calls can be avoided.

Using static::$_cacheProperty gets confused as it is shared by all
subclasses... so index the cache by class name.
separate call into call and callFinder

Having explicit methods should aide debugging - and make the intention
clear. also the finder index is indexed by type, not find method (e.g.
"list", not "findlist").
add tests for aliased behavior methods
add documentation and fix typos
don't override - configure
move defaultSettings to Behavior

Default settings should _probably_ be defined in all classes which
accept partial config, such as components, helpers and behaviors.
prevent invalid config

if a method is configured to be callable that isn't callable - bark on
construction
Prevent any Behavior methods showing up as callable

Instaed of checkingwhere amethod is declared, simply diff against the
methods defined in Behavior. Cache Behavior methods in the same property
as other behavior methods are cached.
don't pass by reference

it confuses the noobs
add back accidentally deleted comment
Grammatical correction to exception message
add a set method to object registry

This is primarily to make testing easier. Otherwise it's very difficult
to inject a mocked object into a registry