Add Controller::components() and addComponent()

These methods aim to increase cohesion and consistency between
Controller/View/Table classes by having similar methods with the same
purpose people have fewer conventions to learn.
Update View & Helpers to use method names consistent with features.

Use helpers() and addHelper() as these methods are more congruent with
other parts of CakePHP.
Move unload() into ObjectRegistry.

Make unload() and reset behave similarily. Both remove objects and
detach events.
Make addComponent() also set the property.

This makes it a bit more useful than just being a proxy.
Fix failing tests.

A bunch of tests relied on old behavior, update those tests so they
continue to pass.
Make _helpers & _components properties protected.
Merge pull request #3140 from markstory/3.0-unloading

3.0 unloading