Buildsystem: Disable building the nonfunctional meshextractor.tool (not in a production-state atm), it CAN however be built with with using the -DWITH_MESHEXTRACTOR flag (not documented as option, and will most probably change in the future)
SQLs: Rename some old SQL files to match standards
Core/Vehicles: Refactor some parts of vehicle system

- Fix a few crashes:
Closes #9235
- Simplify and get rid of lots of redundant and silly code
- Optimisations in Unit::ChangeSeat
- More documentation
Core: Whitespace cleanup
Core/Vehicles: Prevent infinite loop in VehicleJoinEvent:Abort
Core/Scripts: Correct orders of parameters used in OnGroupChangeLeader script hook
Core/Config: Change CONFIG_EVENT_ANNOUNCE from int to bool

Also correct the description of BeepAtStart, it works in Windows as well
Core/NPCs: Refactor equipments

- creature_template.equipment_id deleted
- creature_equip_template.entry == creature_template.entry
- id field added to creature_equip_template -> PK(entry, id)
- id field in creature_equip_template starts at 1
- creature.equipment_id references id of creature_equip_template
- creature.equipment_id = 0 means no equipment at all (default 1)
- creature.equipment_id = -1 means pick a random equipment from creature_equip_template
- add equipment info to .npc info command

While table creature_equip_template got bigger in size, this system is easier to mantain and allows creatures to have a random template from a group of equipments
Core/RBAC: Add config option to set comma separated list of groups to add by default
- Allows to reduce the rows in rbac_account_groups
Core/Vehicles: Fix a few issues

- Fix position desync issue
Closes #9073
- Fix a crash related to passenger's EventProcessor, thanks to Shauren
- Fix crash related to charminfo
- Make compiler happier about certain things
Merge remote-tracking branch 'upstream/master'