Add whole load of player and entity event base interfaces

Needs getters but there needs to be a discussion about how much should events be used (or if some need to be used)
Why is this necessary? What's the difference between this and PlayerLoginEvent?