[mr3083] Improve "First on server" achievements. Use flags instead of hardcoded ids.

thx to Dramacydal for idea.
[mr3084] rework lock chain and references counter in TerrainInfo part 2 v0.2. requires previous changes in TerrainMgr && TerrainInfo.
- use refcounted autoptr instead of grid counter matrix. remove some locks.
[mr3085] remove overlock from ObjectGridLoader::Visit (by valgrind check).
[mr3086] remove some lock from MMapManager (seems unneeded, as say valgrind).
[mr3087] remove overlock from Map::SendObjectUpdates and grid unload (by valgrind check).
[mr3088] fix wrong double auras lock (by valgrind check)
[mr3089] add MangosR2_mutex - membar mutex emulation for internal usage.
[mr3090] define MANGOSR2_MUTEX_MODEL_2 macro (for step-to-step mutexes renew)
[mr3091] remove overlocks from Unit, Map and Transports classes.
[mr3092] add macro MAPLOCK_TRYREAD/WRITE and fix overlock in Unit::SpellDamageBonusDone
[mr3093] set Map And VMap loaded before real load for avoid double loading. also double check in grid create.
[mr3094] Use singleton lock in LFGMgr v0.5. move LFG structures to singleton. must give some speedup and safety
[mr3095] fix aura state modify for dead units
[12576] DB Scripts SCRIPT_COMMAND_EMOTE

Add support to display a random emote.
If dataint1..dataintX is set to an emote, a random out of datalong1, dataint1..dataintX will be sued as displayed emote.

Thanks to grz3s for testing
SD2 update
[mr3096] Merge compiler directives for NOTSAFE_SEMAPHORE_OVERHANDLING.

Note: Locking in SpellAuraHolder still needed.
[mr3097] use membar mutex in locked containers.
[mr3098] use MangosR2_Mutex in locked SmartPtr's.
[mr3099] Implement spells 70733, 73077

thx to Ulduar (nickname :) for start ICC event.
[mr3100] Fix bug filling targets in TARGET_AREAEFFECT_INSTANT and makes possible complete quests / kill credits for some quests