Fixing player object passing during events

During events, new player objects were being created, resulting in loss
of any Bukkit-specific player state of the player object being sent
during the event. These were changed to retrievals from the Bukkit
player cache to ensure the same Bukkit object was being passed to event
handlers.