3.0 - New Behaviors

I've started the first steps to retrofit behaviors into 3.0. This pull request covers adding the new `BehaviorRegistry` which replaces `BehaviorCollection`. It also wires BehaviorRegistry into Table, and exposes new methods for loading behaviors. The `$actsAs` is now removed, and instead initialize() + addBehavior() should be used.

### Things to do in future pull requests

There are a few things I didn't want to do in this pull request as I thought it would make it harder to review and harder to discuss. I'm planning on doing these things next, however some of them hinge on entity saving working and will have to wait until we address that.

* [ ] Remove containable behavior + tests.
* [ ] Remove BehaviorCollection + tests.
* [ ] Update cookbook docs.
* Update all the core behaviors.
* Extract TimestampBehavior
* Extract counterCache Behavior.