Update vehicle engine behaviour

Fixed a bug that allowed melee attacks while in vehicles.

Added a "/createvehicle" dev command.

Added public functions that allow remote whitelist adding/removing.
Enabled this through rcon in the filterscript "rcon.pwn" with the
command "whitelist <add/remove> <name>".

Added definitions for vehicle health display colours and other UI
elements.

Moved engine breaking code to a block only executed if the vehicle has a
fuel tank.

Updated the formulas for engine breaking chance and health depreciation.

Made vehicle engine breaking and health depreciation happen when vehicle
health is below 450 (chunk 2) instead of 400.

Made the difference multiplier only take effect if the difference in
health is above 10.0 in order to avoid softening small chances such as
health depreciation.

Added a new function and variable to vehicles to control engine state.
This means the engine can be turned off and engine breaking won't turn
it on again. (added "veh_engine" to the vehicle data struct)

Updated vehicle data generator to only apply tire damage to vehicles
with tires and added a separate block for plane damage (only wings and
tail will be damaged)

Updated item script "repair.pwn" to reflect changes to vehicle health
behaviour and re-structure code.

Added new library for easier controlling vehicle damage,
"/scripts/utils/vehicleparts.pwn". This contains a function to control
plane flap damage so repairing plane flaps may be a future feature in SS