[z2124] Add new table `creature_template_spells` to store a creature's spells

This will replace old creature_template.spell1-4 fields. Note: Removing them from the database will come soon

Signed-off-by: Schmoozerd <schmoozerd@cmangos>

(based on commit [12189] - 82199ec)

(based on commit [s1750] - 11fcb4c)
[z2125] Fix a bug for FT_NA* fields in source string

(based on commit [12190] - 19d6d7d)

(based on commit [s1751] - c2eada6)
[z2126] Fix loot problems introduced with recent commit. Thanks to Jethro for pointing

(based on commit [12192] - 0842dff)

(based on commit [s1752] - 678d13a)
[z2127] Improve pathfinding for swimming mobs, also consider dynamic flying as flying

(based on commit [12193] - 9b00e80)

(based on commit [s1753] - bfe4e75)
Forgoten change from last commit

(based on commit 72da1ec)

Signed-off-by: Xfurry <xfurry@scriptdev2.com>

(based on commit 23193ba)

Signed-off-by: Xfurry <xfurry@scriptdev2.com>
[z2128] Fix a typo in the DBScriptsEngine

(based on commit [12195] - f7269ef)

(based on commit [s1754] - b08f67e)
[z2129] Fix another type in DBScriptsEngine. Also improve COMMAND_PLAY_SOUND

(based on commit [12196] - 752e21d)

(based on commit [s1755] - e155128)
[z2130] Update the SET_FIELD, FLAG_SET and FLAG_REMOVE commands

They now will work in addition with the buddy system.
Also prevent typos like fixed in recent commits by restricting some variables to a smaller scope

(based on commit [12197] - 7d7c211)

(based on commit [s1756] - 45180df)
[z2131] Fix a typo

(based on commit [12199] - d68fdc9)

(based on commit [s1757] - e8d2713)
[z2132] Do some Coding Style Cleanups

(based on commit [12200] - 69b9a16)

(based on commit [s1758] - 2da969a)
[z2133] Fix No_PCH and allow TARGET_AREAEFFECT_GO_AROUND_SOURCE to be added to spell_script_target table

(based on commit [12201] - b0f7b06)

(based on commit [s1759] - 997a1a9)
[z2134] Remove some not required things

(based on commit [12204] - 96e7635)

(based on commit [s1760] - 6059f2d)
[z2135] Rename vmaps extractor folder and project name

(based on commit [12205] - 6b35bc3)

(based on commit [s1761] - 7ca5efe)
[z2136] Fix engrish, thanks to Danycm for pointing. Also change some alignment

(based on commit [12208] - 559f81a)

(based on commit [s1763] - 5a371a5)
[z2137] Fix a typo

(based on commit [12209] - 2295244)

(based on commit [s1764] - eab2c88)
[z2138] Add some spell description

Partial backport

Also add some more comments in the spell target limitation function

(based on commit [12210] - 2c2f22e)

(based on commit [s1765] - 018ca1e)
[z2139] Remove some code from pathfinding

* Remove dead code
* Remove some optimisation which could cause bad paths. Pathfinder::calculate now depends entirely on the caller to decide when to not calculate the path

(based on commit [12213] - 0afaf3d)

(based on commit [s1766] - a756d26)
[z2140] distinguish between updateDestination and speedChanged

(based on commit [12214] - 91c2376)

(based on commit [s1767] - 48778ff)
[z2141] Add InCombat check for targets of SPELL_EFFECT_DISTRACT

Signed-off-by: Schmoozerd <schmoozerd@cmangos>

(based on commit [12216] - d7c4ebf)

(based on commit [s1769] - c38e0cf)
[z2142] Hotfix aura stacking for non-passive spells

This basicly reverts the passive-stacking logic change of [12211]
Add some hack exceptions for vehicle and linked auras - to at least provide the required functionality.

(based on commit [12218] - fe2ee1e)

(based on commit [s1770] - da86a65)