Always pass the subject as the second argument in event handlers.

It might make sense to remove this feature later, but for now it will
help with migrating the events over.
Revert "Always pass the subject as the second argument in event handlers."

This reverts commit 9125c1a77ade38ea44229eff36ac877895834dfa.
Pass the controller as an argument to component events.

In the long term I think this can be removed as Components can easily
access the controller using the event object, or via the
ComponentCollection.
Migrate the first set of components to the new events.

Upgrade the first chunk of components and their tests to use the new
callback style. I'm not sure if AuthComponent works as the tests are all
skipped right now.