First pass at removing NPCs from the playerlist

imperfect (causes pointless respawns) but a functional proof-of-concept.
Second pass: error fixing, more invisibility fixes

Handle teleporting, avoid cross-world errors.
Third pass: packet magic to pseudo-respawn NPCs

also cache the NPC position to slightly improve efficiency. Micro-effic
matters a lot here.
micro-efficiency, improvements

Don't call .getBlock which is both slow and doesn't work in all cases.
Also don't compare worlds by name, compare by instance.
Refactor

Move the playerlsit packet handling to the NMS class
Handle all cases of the packet in NMS.java
Merge pull request #139 from mcmonkey4eva/patch-2

First pass at removing NPCs from the playerlist