[sd2_mr0567] Fix win build error.
[2801] Improve script for Halls of Stone

Add support for achievement 2155 - Abuse the Ooze
Improve Tribunal event spell support

This expects CMangos [12387]
fix difference after 2801
fix windows compile after 2715
fix compartibility with 4.3.4, thx to Thermaltake
[sd2_mr0568] some cleanups/corrects related to instance_blackfathom_deeps (#137). real problem source still unknown. TESTING.
[2803] Update Tribunal of Ages event to blizzlike

This will allow summoning using the spells, resulting in a better spawn position

Conflicts:
	scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
	sd2_revision_nr.h
Change patch-file's lineendings to LF
Fix a warning
[2805] Fix restarting event after a FAIL

Thanks to Ulduar for pointing.
Close #205 (possible)
[2806] Implement spell 37136 (related quest 10584)
[2807] Fix a typo
[2813] Add exception for quests 20439 and 24451 for Dalaran guards

Signed-off-by: Xfurry <xfurry@scriptdev2.com>
[sd2_mr0569] add direct semaphore lock to ahn_quiraj instance (need check Win compile). related to #138
[sd2_mr0570] Simplify script naming
[sd2_mr0571] Use simplified script naming
[sd2_mr0572] fix win compile, broken in "fix windows compile after 2715", big thx to przemratajczak. also solve problem with compile with -n option under ubuntu (correct depedency added).
[sd_mr0573] Implement wrappers for Script object

Easy to use, now no extra code, script object(s) is auto created and registered.

Usage examples:

*** SimpleScript ***

short version for one function

SimpleScript("script_name")->GetAI = &GetAI_realization;

for more than one function

SimpleScript ss("script_name");
ss->pGossipHello = &GossipHello_realization;
ss->pGossipSelect = &GossipSelect_realization;

*** Scripter ***
for registering multiple scripts at once

short version for scripts with one function

Scripter s;
s.newScript("script_name_1")->GetAI = &GetAI_realization_1;
s.newScript("script_name_2")->GetAI = &GetAI_realization_2;

for more than one function

Scripter s;

s.newScript("script_name_1");
s->pGossipHello = &GossipHello_realization_1;
s->pGossipSelect = &GossipSelect_realization_1;
s->GetAI = &GetAI_script_name_1;

s.newScript("script_name_2");
s->pGossipHello = &GossipHello_realization_2;
s->pGossipSelect = &GossipSelect_realization_2;
s->GetAI = &GetAI_script_name_2;

etc.

For registering script without error reporting (very rare case) need use RegisterScript(false) function from Scripter class instead of RegisterSelf(false) from Script object.

Scripter s;

s.newScript("script_name");
s->pGossipHello = &GossipHello_realization;
s->RegisterScript(false);
[sd2_mr0574] Use SimpleScript and Scripter
[sd2_mr0575] Fix compile, close #1340