Multiple spell reflection
DB/Items: Fixed some random suffix ids

Fixed suffix ids for some items with sub-60 itemlevel

Fixes #12898
Merge  branch 'trickerer/mulreflect' into master

Close pull request #11288
DB/SAI: Zul'drak scripts

several quest complete scripts for quests in Zul'drak

rescripts Explosive Charges Bunny to include the countdown text,
Correction

I had already tested script without broadcast ids but failed on pasting column name in right place when I did add them xd.
Scripts/Commands: Change "few" commands to target current Player by default
DB/Misc: Add Cosmetic Explosion Trap spawns and SAI to despawn Unstable Explosives on use.

Closes #12243
DB/SAI: Kill SAI Errors

NPCS in Sunken temple do not need difficulty flags as there is only one mode
DB/Spells: added a few spells to spelldifficulty_dbc
Core/Maps: Don't use EnsureGridCreated_i() for base map in Map::LoadMap, use EnsureGridCreated() which is thread safe because although the LoadMap() call probably came from a thread safe EnsureGridCreated() call from the current map instance, multiple map instances can load grids for the same base map in the same time, and each of them has it's own mutex, therefore we should rely on the basemap's mutex
DB/Fishing: Add fishing level to Undercity

By AriDEV, closes #12929
DB/SAI: Some corrections

Wiki said despawn time for gobjects spawned using smart action 50 was in ms, which was wrong its actually in seconds,
Scripts: Correct despawn time of multiple objects

WorldObject::SummonGameObject respawn time is in seconds and not milliseconds
Scripts/BladesEdge: Fix a typo introduced in 430b3ad

Thanks @Nihilianth
Core/Deps: MySQL sources out.

Windows users are now required to download and install mysql server with headers and libraries
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4

Conflicts:
	dep/PackageList.txt
	src/server/game/Spells/Auras/SpellAuras.cpp
Revert "Server/PacketIO: Updated CMSG_TIME_SYNC_RESP for 434"

This reverts commit e9d0660b06ee79649cb26fe716da4ed4718ad787.

<Shauren> int __thiscall PlayerTimeSyncResponse::CliPut(PlayerTimeSyncResponse *this, CDataStore *a2)
<Shauren> {
<Shauren>   PlayerTimeSyncResponse *v2; // esi@1
<Shauren>   v2 = this;
<Shauren>   CDataStore::PutInt32(a2, 15116);
<Shauren>   CDataStore::PutInt32(a2, v2->SyncCounter);
<Shauren>   return CDataStore::PutInt32(a2, v2->MS_Time);
<Shauren> }
<Shauren> v2->SyncCounter is the value from SMSG_TIME_SYNC_REQ and ms_time = OsGetAsyncTimeMs()
Merge branch '4.3.4' of https://github.com/TrinityCore/TrinityCore into 4.3.4