Event object refactor.

- Add Event::getEventname() to get the event name for a callback.
- Add Event::fireArray().
- Use the base name of a class for its event names.
Add some unit tests for the Event class.
Don’t require that Evnet::getEventname() take a callback because it is used for non-existent callbacks sometimes.
Clear the event handlers after each event test.