Add Basic Teleportation Events

Adds a basic teleportation cause and the events.
Why does this return an event? Does it call the event before returning it? More documentation please.

If anything, it should be EntityTeleportEvent.