Add cross faction battlegrounds version 27!
Fix AB flags Thanks @Raydor closes #4
Cannot confirm if #3 was valid, but with these changes & my testing (alt f4 wow and relogin) it worked as intended.

Maybe i'm like blizzard GM's? http://www.wowwiki.com/Working_as_intended

Closes #3
Untested change for some new display ids. Should work fine
Missing change from previous commit
Maybe a fix for achievements etc..
Missing packet sending +1
Fix something with totems. Thanks L30m4nc3r for this!
Revert "Maybe a fix for achievements etc.."

This reverts commit 6a4cdfaee579497afe766f574d42c886689f4bd3.
Merge remote-tracking branch 'trinity/master'

Conflicts:
	src/server/game/Battlegrounds/Battleground.cpp
	src/server/game/World/World.cpp
Fix compiling issues after merge
Core/Script:
ICC: Convert possible non valid pointer to guid

Close #9954
Merge pull request #10875 from zorix/PR2

Core/Script:
DB/SAI: Zeth'Gor Must Burn!

Fixes #10904 by @untaught
Core/SAI: Using SMART_TARGET_NONE no longer works the same way as SMART_TARGET_ACTION_INVOKER but rather return NULL instead.

Fixes #10908
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore
Scripts/SteamVault: reworked InstanceScript
Core/Logs: Random changes
DB/SAI: Non-repeatable flags change & credit circumvention

By dr-j fixes #10929 fixes #6444
Core/AI: Fix uninitialized values and array overflows in SAI

Proper initialize POD struct members to 0 in SMART_ACTION_CREATE_TIMED_EVENT action type.
Fix array overflows and access uninitialized values in SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST, SMART_ACTION_RANDOM_PHASE and SMART_ACTION_RANDOM_EMOTE .

Valgrind log for SMART_ACTION_RANDOM_PHASE case:
 Conditional jump or move depends on uninitialised value(s)
   at : SmartScript::UpdateTimer(SmartScriptHolder&, unsigned int) (SmartScript.cpp:3086)
   by : SmartScript::OnUpdate(unsigned int) (SmartScript.cpp:3176)
   by : SmartAI::UpdateAI(unsigned int) (SmartAI.cpp:335)
   by : Creature::Update(unsigned int) (Creature.cpp:542)
   by : TempSummon::Update(unsigned int) (TemporarySummon.cpp:47)

 Uninitialised value was created by a stack allocation
   at : SmartScript::ProcessAction(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:143)