Don't try to read from tables before they exist
Handle more complex name changing

Situation: Player A logs in, creates some logs, logs out, and then changes his name to C. Player B changes his name to A, and logs in.

From the perspective of the server, A's UUID has changed. We need to update A's record with his new name, but we don't know his name because he hasn't logged in yet.
Afterwards, we proceed to update B's record.
Reduce visibility of methods and classes, where possible