Fix extended entity properties being lost when leaving the end

Currently, when a player leaves the end and respawns in the overworld, all extended properties on them are lost. This pull request attempts to fix that by moving over the extended properties from the old player entity to the new one, and calling init on them another time.

Respawning normally (after a death) is not affected. Extended entity properties are still lost, and you're supposed to use LivingDeathEvent and the persistent player NBT data to save data you want to keep.

Problems could arise depending on what mods do in the init function, if it gets called more than once. Since this would only happen when leaving the end, where it previously just lost all properties, I think that is acceptable.