Core/SpellScripts: implement Spell Proc Hooks and use it in old and new proc system
Hooks:
- DoCheckProc: executed when aura checks if it can proc
- DoPrepareProc: executed before aura procs (possibility to prevent charge drop/cooldown)
- OnProc: executed when aura procs
- OnEffectProc: executed when aura effect procs
- AfterEffectProc: executed after aura effect proced
- AfterProc: executed after aura proced and charges removed

using PreventDefaultAction() in DoPrepareProc will prevent charge drop and cooldown

default execution of a proc can prevented in OnEffectProc with PreventDefaultAction()

Now we should be able to convert almost all procs from Unit::ProcDamageAndSpellFor to SpellScripts

Notes to old proc system:
- if a proc has a cooldown we must check it in spellscript and add it when we handle the proc
- behavior with charge drops is possible undefined (use PreventDefaultAction() in OnEffectProc to notify that the script is executed)
Core/maps: separate mutex for grid
Core/BG: Corrected data sent in SMSG_BATTLEFIELD_STATUS packet.

*should* close #7994
Core/DataStores: Changed index on CharStartOutfit.dbc to allow lookups directly using race/class/gender combo instead having to iterate entire store to find the proper entry
Core/Conditions: Implement CONDITION_UNIT_STATE = 21
DB/Conditions: Convert shadowstep spell script in conditions
DB/SAI: Some SAI for aq20. Closes #8866
DB/SAI: Fix a couple errors. Closes #8839
DB/Scripts: Fix a few SAI errors.
Misc: Reorder more scripts in some script files and some cosmetic stuff
Merge pull request #8917 from joschiwald/spellscripts_reorder2

Misc: Reorder more scripts in some script files and some cosmetic stuff
Core/Scripting: Move Boss_Gatewatcher_Gyrokill to c++ scripting. Additional cleanup in Mechanar.
DB/SAI: Hulking Abomination
Core/Tickets: Allow viewing of ticket response(if any) when using .ticket viewid or .ticket viewname.

Fix an sql name.
Core/Script: Pyroguard emberseer

Cleanup while working on #4586
Core/UnitAI: Checks in DoCastVictim

Consider triggered flag and unit state
Scripts/Scholomance: Fix warning
Core/Spell: Gordunni Trap

Casting npc of the trap should not remove the summoned chest on despawn.
Solves #4811
Core/Scripting: More updates to Mechanar
Core/Commands: Fix sql warnings with pinfo at ban players