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)
Merge pull request #8879 from joschiwald/spell_proc_scripts

Core/SpellScripts: Implement Spell Proc Hooks and use them in old and new ...
Core/Log: Change an error to contain DB table guid instead of low guid

Signed-off-by: Nay <dnpd.dd@gmail.com>
Core/Zul'Grub: Fix up Mandokir Boss
Scripts/ZulGurub:

* Fixed non-PCH compile.
* Changed some codestyle on Mandokir.
* Fixed compile warnings and a few typos.
* Remove instance checks and use a wrapper to get AIs.
Scripts/ZulGurub: Forgotten change to previous commit. Damned Ctrl+S.