Implementation of the Teleportation API

*Based on proposal v1*
**Differences from proposal**
---
**Errors**
  * Removed UnsafeTeleport
  * Removed CannotBeTeleported

**Objects**
  * TeleportResult stores the waypoint for to instead of the location