More vehicle updates, reverted one feature

Reverted the ownership transferral feature as it caused issues that I
don't have time/motivation to test and fix.

Added checks to ensure vehicles that don't have doors don't get locked.

Refined some of the structure for saving vehicles, setting owners and
updating their data files.

Moved the "veh_lastUsed" assignment to OnPlayerExitVehicle again. It was
causing issues with the hack detection and falsely reporting vehicle
teleports because OnPlayerStateChanged is called some time after
OnPlayerExitVehicle.
Fixed some client crashes

Removed the "Rusty Metal Sheet" item from in-world loot spawns. This
caused client crashes if a rusty sheet spawned inside a single-player
garage with auto-open doors. It was much easier to simply remove the
item from loot spawns than try and find all the loot spawn points that
were in garages.

There is still an issue which needs to be addressed: if a player drops a
rusty sheet inside one of those garages, their game will crash and
anyone who goes near will also crash. (Need a library of all
single-player garages so dropping this specific item in them can be
disabled)
Changed some loot spawns

A cluster of loot spawns were spawning industrial vehicle loot for some
reason, these loot tables include the crashy rusty metal sheet item.
Changed these spawns to normal industrial spawns.
Updated tooltips and key actions

Added a "Drop bag" key action.

Updated tooltips for bandage, medkit and doctor-bag to reflect recent
changes made to these items.
Added IsNaN function and check

Thanks to Y_Less for the IsNaN function.

Added a check to the HackDetect code, somehow a player managed to get a
vehicle to NaN coordinates which resulted in a NaN distance and
repeatedly reported players for vehicle teleport.
Small fix to vehicle data and VehicleHasDoors
Added bad-location checks and improved aliases

Updated CheckForExtraAccounts to ensure accounts above level 4 aren't
revealed if their aliases have no admin level but the current account
does.

Added IsAtDefaultPos and IsAtConnectionPos to cancel account saving if
the player crashes while logging in/loading.

Added code to block damage for unspawned players. Turns out players
appear at the LS griffeth observatory for a split second before spawning
and can be shot/tasered/attacked by a camping player.
Updated wheel and headlight code

Updated headlight and wheel code to properly show only back/front for
bikes.
Updated chat colours, anti flood and admin cmds

Moved admin commands to scripts titled by level number for easier
navigation.

Rearranged commands to better suit staff roles:
Game master is for player control but nothing more, they can mute and
warn for chat related offences. They cannot enter duty or spectate. This
position can't be abused to gain an advantage in the game.
Moderator and Administrator are more for catching hackers and have the
tools that can be abused.

Will soon rearrange developer commands because that Level4 file is a
mess.

Updated chat colours for local and radio, these channels show in a
separate colour for distinguishing from global chat easier.

Fixed problems with anti-flood muting, this system now uses the actual
muting function so it will block "/g [text]" properly as well as display
the time remaining until the unmute.
Fixed some issues with the ban functions

Added a name variable for the ban-by-command menus so that a ban can
still be continued even if the player disconnects.

A ban will now shift a player into the sky so they can't continue
messing with the game-world while the admin is typing information.
Updated supply loot and added a new hat

Supply crates now have their own loot index with more balanced loot
types instead of purely military items.

Added a Christmas hat because it's that time of year :)
Merry Christmas!

Added Christmas presents around the map (Thanks to Tezza for tree
placement) each tree has a 20% chance to spawn a present box with some
nice loot inside and if the loot does spawn, there's a 10% chance of
spawning a santa hat!
Fixed aliases bugs, added unban log

Fixed the old issues with the 2 additional alias search types by adding
separate query statements for them and cleaning up the
"GetAccountAliasesBy*" functions.

Added logging for the auto-unban for timed bans.
Fix for bad ban check query

"COLLATE NOCASE" should have been after the name check not the IP check.
Admin tools and small accounts update

Refined the ban command some more, now it bans the player upon command
usage with empty "reason" and "duration" parameters. After the admin has
typed in a reason and duration in the menus, the ban record is updated.
(In future, this update method will be integrated into the "/banlist"
menu)

Unfortunately, the ban options had to be removed (for now) they may be
reintegrated but will require some new code to extract a player's
inventory/character data for dropping their items to simulate a death as
well as updating their "alive" status.

Added an "/isbanned" command to check if a name is banned.

Added an experimental "/vtp" command.

Added a register check to the CheckForExtraAccounts function. Players
who are new to the server and haven't created an account shouldn't be
checked aliases now due to how the IP is loaded from the database
instead of the actual player's IP (so the function can be used on
offline usernames)

Fixed a bug with the ban update SQLite statement, the ORDER BY
instruction shouldn't have been there.
Updated the readme file

Cleaned up the markdown code.

Added better explanation to the gamemode, made it less specific to my
view of my server.

Made instructions a bit clearer.

Updated the settings part of the instructions with the latest .json
settings and an explanation for each key.
Fixed "/isbanned"

Silly me, forgot the 'F' and 'params' parts for the message. Made the
server crash!
Merged "SS-Wasteland" world scripts

Seeing as the "SS-Wasteland" modification was only a world related
change, the scripts are now stored here and found in "World_Wasteland".

Not updated though, still quite unfinished but there are plans to
continue this project. For now the files will live here and I may open
up a separate repo in the future that will just contain these world
files instead of a completely separate branch of SS code that misses
updates.
Added smaller World zones

To use a different set of world scripts, simply rename any of the
"World_X" folders to just "World" and recompile.

"World_Wasteland" is experimental.
Added simple comment support for Maps.pwn

Will improve this in future to support indented comments and comments at
the ends of lines.