Improved alt-tab detection code

Detection is now more responsive with a 100ms timer that slows down
checks if velocity is 0 or the player is exiting a vehicle (both factors
which change the call frequency of OnPlayerUpdate)
Improvements to login, save/load and spawn code.

Added a join log message and changed LoadAccountDelay log calls to
"LOAD" log tags instead of "JOIN" (since these functions will be called
5 seconds after the actual join)

Added debug levels for save/load code. Default level is now 1 in order
to try and track a possible bug with spawning.

Added checks to ensure a new character is created for a player if the
PlayerSpawnExistingCharacter function fails. Also added checks to ensure
a player doesn't spawn multiple times.
Improved logf code

logf is now an actual function using y_va instead of just a macro. This
means the parameters can span multiple lines meaning easier to read and
write code.
Fix and addition to admin commands

Fixed default value for "/aliases" command and optimised type variable
since it only contains a single character now.

Added a "goto" command for "/vehicle".
Improved settings loading code

Settings code is now a lot more logical. Each setting is checked, loaded
and printed individually so if a specific setting key is missing it will
be added with a default value (which previously only happened if the
file was absent)

Basic interface functions for updating settings added. Will be expanded
on and used in scripts in the future.