Core/Achievements: Use ACE_OS::localtime_r instead of localtime in my previous commit for thread safety.

Thanks to @Shauren
Merge pull request #11568 from Rochet2/VendorChecks

Core: Add rest of checks from SendListInventory to BuyItemFromVendorSlot
Core/Auras: Implemented SPELL_AURA_MOD_COOLDOWN

Closes #9671
Authserver / Worldserver: Fix warnings about unused variables
Remove whitespaces from previous commit
DB/Gameobject: Fix Dire Pool

Closes #9893
Core/Entities: allow interaction with gameobject questgivers if player can take or return quests

Closes #11269
Closes #8898
Closes #10204
Closes #11410
Closes #7053
Closes #6189
Closes #9474
Core/CrashHandler: Add more informations about locals

Handle SymTagData with inner type of SymTagPointerType.
Increase buffer sizes to avoid buffer overflows.
Avoid infinite loops by logging the children of each type only once.
Avoid too deep nesting by adding a max nesting level.
Print the address for arrays instead of just the name.
Core/Spells: Possible crash fix

Get Unit target with the proper method instead of retrieving Object target and then casting it to Unit, possible dereferencing NULL.
Updates #11560
Core/Achievements: rename some AchievementCriteriaDataTypes to keep consistent
DB/Misc: A lucky bag random fixes
SQL: Maybe I'll have more luck :(
Revert "DB/Misc: A lucky bag random fixes"

This reverts commit 3fcb1bf09140e59a878911cd889d5047cf8a0ca6.
Shared/Logs: Add workaround for "w" flag used with dynamic name files

Ignore "w" flag and always use "a" for log files with dynamic name since the file handle is created at every log line and "w" would delete any other logged line from previous _write() calls.
The best solution would be to overwrite only at first call and append at any other call.
Shared/Logs: Make AppenderFile more thread-safe

In case of dynamic file names don't store the FILE* handle in a shared class variable but keep it only at function scope.

Valgrind log:
  at _IO_un_link (genops.c:69)
  by fclose@@GLIBC_2.2.5 (iofclose.c:55)
  by AppenderFile::CloseFile() (AppenderFile.cpp:94)
  by AppenderFile::_write(LogMessage const&) (AppenderFile.cpp:66)
  by Appender::write(LogMessage&) (Appender.cpp:102)
  by Logger::write(LogMessage&) const (Logger.cpp:63)
  by Log::write(LogMessage*) (Log.cpp:279)
  by Log::vlog(std::string const&, LogLevel, char const*, __va_list_tag*) (Log.cpp:267)
  by Log::outMessage(std::string const&, LogLevel, char const*, ...) (Log.h:129)
Address 0x2a1bd2d0 is 0 bytes inside a block of size 568 free'd
  at free (vg_replace_malloc.c:468)
  by fclose@@GLIBC_2.2.5 (iofclose.c:85)
  by AppenderFile::CloseFile() (AppenderFile.cpp:94)
  by AppenderFile::_write(LogMessage const&) (AppenderFile.cpp:66)
  by Appender::write(LogMessage&) (Appender.cpp:102)
  by Logger::write(LogMessage&) const (Logger.cpp:63)
  by Log::write(LogMessage*) (Log.cpp:279)
  by Log::vlog(std::string const&, LogLevel, char const*, __va_list_tag*) (Log.cpp:267)
  by Log::outMessage(std::string const&, LogLevel, char const*, ...) (Log.h:129)
Core/Warden: Fix crash
Shared/Logs: Code cleanup

Remove unneeded check added in 89af6097f37587e178ac412252326351ca655075
Merge pull request #11580 from Dehravor/warden

Core/Warden: Fix crash

Fix NULL dereference crash in case Warden is disabled (in configs or on Mac OS X platform) and client sends a CMSG_WARDEN_DATA opcode
Scripts/Eastern Plaguelands: Fix flypath exploit

Fix npc id 17209 in Eastern Plaguelands enabling taxi cheat to players just by talking to it.
Core/SAI: Fix crash

Disable script type SMART_SCRIPT_TYPE_TIMED_ACTIONLIST actions if they are trying to overwrite the timed action list while iterating it.
This was invalidating the iterator and deleting any smart action stored in it, including the current executed one.

Valgrind log:
 Invalid read of size 1
  at SmartScript::OnUpdate(unsigned int) (SmartScript.cpp:3258)
  by SmartAI::UpdateAI(unsigned int) (SmartAI.cpp:331)
  by Creature::Update(unsigned int) (Creature.cpp:544)
 Address 0x1807d9b2 is 10 bytes after a block of size 40 alloc'd
  at operator new(unsigned long) (vg_replace_malloc.c:319)
  ...
  by SmartAIMgr::LoadSmartAIFromDB() (SmartScriptMgr.cpp:231)
  by World::SetInitialWorldSettings() (World.cpp:1724)
  by Master::Run() (Master.cpp:169)
  by main (Main.cpp:142)