add PlayerJoinEvent and PlayerQuitEvent

Would be better if there is something like `QuitReason getReason()` where QuitReason is an enum of reasons for quitting.
Otherwise, `wasKicked()` is better than `isKick()`