use Thread-Safe Interface design pattern to allow recursive calls on non windows os
described here http://wiki.hsr.ch/PnProg/files/ThreadSafeInterface.pdf
http://www.aoc.nrao.edu/php/tjuerges/ALMA/ACE-5.5.2/html/ace/classACE__Thread__Mutex.html#_details
recursion in :
EnsureGridCreated() -> LoadMapAndVMap() -> LoadMap() -> EnsureGridCreated()
Scripts/Ruby Sanctum:

* Move Dark / Flame Breaths handling to generic_halionAI.
* Also apply Twilight Precision to Twilight Halion.
* Fix some mistakes in the corporeality handling code, and remove some unused enums.

Fixes #8176.
Merge pull request #8247 from ille/recursivedeadlock

Core/Maps: Use Thread-Safe Interface design pattern to allow recursive calls on non...
Core/EventAI: Removed table creature_ai_summons.
Core: Remove Player.h dependency from all the possible headers
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/server/game/Chat/Channels/Channel.cpp
	src/server/scripts/Commands/cs_misc.cpp
	src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
	src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
	src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
DB/Misc:

Add Support for Day of the Dead Closes #3761
Add Ray'ma for Brewfest Closes #3132
Add Spellfocus for Mistcaller Ynfvar see issue #3563
Add SAI for Somnus,Orokk Omosh, Raschal the Courrier,Plainstalker
Closes #3635
Closes #3678
Closes #3679
Closes #3680
Add Spawns & support for Quest Frankly, it makes no sense Closes #3749
Add SAI support for Quests: You Robot, Deaths Door
Closes #3809
Closes #3822
Fix Teribus the Cursed Closes #3930
Add SAI support for quests: To Catch a Sparrowhawk, Stop the Ascension, Melding of Influences
Closes #4803
Closes #4843
Closes #4996
Crash Fix after b99c347
Merge remote-tracking branch 'upstream/master'
Core/SAI: Allow the actions CALL_KILLEDMONSTER, CALL_GROUPEVENTHAPPENS and CALL_AREAEXPLOREDOREVENTHAPPENS to be used on vehicles, affecting all of their passengers.
Fixed build.
Thanks vincent-michael
Core/Entities: AoE spells should be able to hit invisible targets.
Closes #7712
Fix PetAI missing aggressive pet target select
PetAI minor cleanup of target selection
Another crash fix after b99c347
Merge remote-tracking branch 'upstream/master'
Merge pull request #8259 from Warpten/supLion

Scripts/Ruby Sanctum: Tweaks and stuff.
Merge pull request #8330 from MrSmite/PetAI_TargetSelect

[Core/Pet] PetAI_TargetSelect
Core/Calendar: Completely rewrite and fix most of the calendar system

There are still some issues that need to be fixed, for more info see CalendarHandler.cpp TODO part.
Some unblizzlike behaviour possible, we don't have a lot of sniffs.
Big thanks to @Warpten, he joined my project and helped a lot.

IMPORTANT NOTE: Read / append packed time functions in ByteBuffer.h are not correct, they need to be fixed in order to have event times accurate

Signed-off-by: Nay <dnpd.dd@gmail.com>
Scripts&DB: Nexus - Ormorok

Following improvements:
- Spellscript for crystal spikes
- Spawn crystal tanglers with spell
- Usage of event map
- Correct usage of frenzy
- Heroic spells
- Target selection for crystal tanglers

Details for the spell script:
There are 4 spells. Each of them spawns the same trigger but in another direction. The trigger gets an aura which triggers the spell which summoned him after 250ms. This time is too long, so it triggers on apply. Don't worry - test ingame first, it's working blizzlike (I watched some videos on YT to find out which is the best amount of time difference between spawn and next summon).

Some summon types don't store the spell id which summoned them. The trigger is one of them which are not doing so. So I had to move the line, which stores the spell id in the summon out of the if. This could be done more specific, but it works fine. This improvement is required to find out which spell the aura applied to the summoned trigger has to cast to keep the right direction.

Closes #8193

Signed-off-by: Nay <dnpd.dd@gmail.com>
Scripts/AQ: Implement Ossirian the Unscarred

Fix yell on kurinaxx death

Warning fix

Closes #8254

Signed-off-by: Nay <dnpd.dd@gmail.com>