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
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/server/scripts/Spells/spell_dk.cpp
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.
Merge remote-tracking branch 'upstream/master'
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
[gc527] compile fix
Core/Scripting: More updates to Mechanar
Core/Commands: Fix sql warnings with pinfo at ban players
Core: Fix build
Core/Ticket: Fix unassigned message not showing who was assigned to ticket

Thanks to @Bezo
Closes #8923
Scripts/Misc: Some cleanups