Add causes for events.
Update Javadocs for EntityEvent.
Simplify Event.
Make EntityEvent use a list of affected entities.
Add EntitySpawnEvent and AbstractEventEntity.