Fix UUID Problems

Fix UUID Problems where prefixes and suffixes were being reset every change because they
used names not UUIDs,. Also, make OfflinePlayers store UUID's when you
change them.
Ive changed the join event to use UUID's not player names. Also added a
delayed sync because sometimes the server doesn't return the permissions
right otherwise.