Major efficiency boost by running a separate async task to handle adding/removing players. Previously this was handled entirely in the player join and quit listeners, thus holding up the main server thread.

From brief testing with a local MySQL database the time used by the two listeners decreased to almost 1/900th the time (from 45997950 nanoseconds average down to 51250 nanoseconds).

Could probably be slightly improved further by adding the ability for it to handle multiple player logins/logouts in a batch instead of singly one at a time, but since it fires once a tick (every 50ms) multiples would probably be pretty uncommon.