Add and remove entity from worlds when teleported

When calling Entity.teleport(), Minecraft seems to forget to re-track some EntityTypes, which causes them to leave a ghost copy in the original world.
This patch is supposed to fix that by calling the removeEntity function on the source world and calling the addEntity function on the destination world.