Scripts/Misc: Fix static analysis issues

Replace CAST_AI() macro with ENSURE_AI() when dynamic_cast is not supposed to return NULL.
Core/Player: Fix an issue with Player::RemoveRewardedQuest not deleting the queststatus_rewarded form database

Needed for SPELL_EFFECT_CLEAR_QUEST
Merge pull request #12810 from Carbenium/questreward

Core/Player: Fix an issue with Player::RemoveRewardedQuest not deleting ...
Core/Trade: Fixed putting soulbound items to "will not be traded" slot
Scripts/Commands: Fix static analysis issues
Core/WorldSession: Fix socket not being closed on clean logout

Close the WorldSession socket if Player didn't even login or logged out successfully and then closed the client.
Core/Server: Add missing overrides
Core/Server: Use nullptr instead of 0 where pointers are expected
Core: Fix build for Intel Composer XE
DB/Quest: Fix Hunter Trainer Offering Quest To Rogues

By MrSmite, closes #12809
DB/Misc: Add More missing texts

Add missing texts for hellfire peninsula.
Fix pet spell cooldown being extended without successful cast

Closes #12560
Core/NetworkIO: Allow receiving packets bigger than buffer size and properly handle situations where not entire packet was read in one go

Core/Authserver: Restored authenticator functionality
Core/Authserver: Fixed writing to invalid memory address
Core/Worldserver: Replaced old hack sending key events to unblock console thread
Core/Misc: Removed ACE leftovers
Tools/MMAPs: Fix log message if mmaps folder is not found

Fixes #12787
DB/Misc: Perry Gatner event

Script for Perry Gatner.

This script may be updated when I sniff more but all data is from sniffs, I wont add texts without the emotes so thats why there will be updates which will just be texts and additional timed action lists to run as random scripts..
Core/NetworkIO: Prevent double closing the same socket
Core: Fix non pch build