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.
Scripts/ZulGurub: Missing mass replace changes and typo/codestyle fixes.
Scripts/ZulGurub: Fixed Hakkar's aspects.
Scripts/ZulGurub: I can do this!

Commiting stuff one hour after waking up is no good.
Core/Logging: Use correct realmId when logging to DB
Core/Logging: Add config option to enable/disable asyncronous logging (disabled by default)
Core/Misc: Some changes to reduce differences with 4.3.4 branch + some cosmetic changes
DB/Gossip: Add some missing go gossip.
Core/Auras: Removed an unnecessary check.

mode is already checked in the first lines of SPELL_AURA_PHASE's handler.
DB/Creature_text: Add some missing text to db.
DB/Creature_text: Missing ; from previous commit