Do not reassign entity ids on world changes / respawns

This PR fixes a bug caused by when teleporting entities to other worlds due to which entities are displayed multiple times to the clients.
This is also the cause for players hanging around after death which is also fixed with this PR.
Entities near the respawn location being invisible is also fixed with this PR.
**Current behavior**
Entity ids are allocated on a per world basis in the `EntityManager` and are reassigned if entities change the world or players respawn. This leads to the old id not being removed and artifacts being created. Furthermore the entity id should not change at all (due to CraftBukkit compatibility).
**New behaviour**
Entity ids are now allocated in the `EntityIdManager` of which only a single instance exists per server. This allows the entity to change its world without being reassigned  to a new id by the `EntityManager` of the new world.
This PR also resets all known entities when a player respawns in the same world. This causes all entities to be resend after the respawn which solves the third issue.

**Related Links:**
- Ticket: #486 
- Ticket: #447