Core/SmartAI: Fixed issue where ranged caster would switch to combat ready state between cast.
Core/AI: Some code cleanup
Core/SmartAI: Reset Actions will not be processed until creature reaches home.
Core/SmartAI: SMART_ACTION_UPDATE_TEMPLATE will no longer ignore the target type and force the source creature (creature only) to be updated; from now on it updates the given targets to the given entry (actionparam1)
DB/SAI: Fix an error in Bladespire Mystic SAI
Core/Movement: Fix invalid memory access

Fix the stack implementation used in MotionMaster and added few sanity checks to ensure no underflows will be made.

Valgrind log:
 Invalid read of size 8
  at : MotionMaster::top() const (MotionMaster.h:115)
  by : MotionMaster::pop() (MotionMaster.h:91)
  by : MotionMaster::~MotionMaster() (MotionMaster.cpp:74)
  by : Unit::~Unit() (Unit.cpp:296)
  by : Player::~Player() (Player.cpp:880)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:665)
  by : WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:516)
Core/Player: Add another exception to questgiver spell casting.
Core/Misc: Fix some static analysis issues

Fix some static analysis issues about uninitialized values. Most of them are false positives, always initialized before being accessed, while some of them are real issues spotted by valgrind too.
Core/Misc: Fix some static analysis issues

Fix some static analysis issues about uninitialized values.
Core/AI: Fix an issue where the OnQuestAccept hooks were not called for auto-completed quests.

Fixes #11304
Core/Quests: Fix an issue where auto-completed quests would not be automatically completed if the quest was added through either the SmartAI action_type SMART_ACTION_ADD_QUEST, the spell effect SPELL_EFFECT_QUEST_START or the opcode CMSG_QUEST_CONFIRM_ACCEPT. Also fixes auto-complete quests in the SAI and opcode case not calling the AI hook.
Scripts: fix crash in spell_jokkum_scriptcast

Closes #11313
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Core/Player: Fix questgiver spell cast.
Core/Unit: Add switch to prevent COMMAND_ATTACK being added to action bar for supplied creature entries.
Core/Misc: Remove unused code

Remove unused debugging code added in MaNGOS r5067.
Remove dead code from a switch found by Coverity.
Core/Unit: prevent COMMAND_ATTACK being added for Trained Rock Falcon.
Also added spells for Trained Rock Falcon to db.
Core/Transports: Fix memory leak on shutdown

Fix world transports not being deleted on shutdown.
DB/Creature: Misc template updates
Core/AI: Fix CreatureAI left uninitialized

Fix CreatureAI left uninitialized for 1 server tick for Creatures with DeathState:DEAD . This is a workaround required after c9cf2f059f8f33c3fcb58ad472871515e59df7c3 changes .

Valgrind log:
 Conditional jump or move depends on uninitialised value(s)
  at : npc_draenei_survivor::npc_draenei_survivorAI::MoveInLineOfSight(Unit*) (zone_azuremyst_isle.cpp:104)
  by : CreatureAI::MoveInLineOfSight_Safe(Unit*) (CreatureAI.cpp:123)
  by : CreatureUnitRelocationWorker(Creature*, Unit*) (GridNotifiers.cpp:134)
  by : Trinity::AIRelocationNotifier::Visit(GridRefManager<Creature>&) (GridNotifiers.cpp:252)
 Uninitialised value was created by a heap allocation
  at : operator new(unsigned long) (vg_replace_malloc.c:319)
  by : npc_draenei_survivor::GetAI(Creature*) const (zone_azuremyst_isle.cpp:66)
  by : ScriptMgr::GetCreatureAI(Creature*) (ScriptMgr.cpp:792)
  by : FactorySelector::selectAI(Creature*) (CreatureAISelector.cpp:41)
  by : Creature::AIM_Initialize(CreatureAI*) (Creature.cpp:716)
  by : Creature::AddToWorld() (Creature.cpp:190)