Core/Loot: Skinning improvements

* Set skinnable flag only after all loot was taken
* Creatures are skinnable only once - after skinning, the player only has to loot the creature again if he did not take all skinning loot
Scripts/MagistersTerrace: reworked InstanceScript and fixed some issues on boss Vexallus
* removed old hacks and added missing auras
* Vexallus converted to EventMap
Merge pull request #12364 from MitchesD/misc_2

Scripts/MagistersTerrace: reworked InstanceScript and fixed some issues ...
Core: Fix warnings and kill again whitespace ...
Core/Mail: Fix exploit that allowed to send free emails
Script/MagistersTerrace: Fix fail in 27f28552489bab153d5c4717ce48e31496b4c43f
Core/Misc: Define CREATURE_TYPEFLAGS_PROJECTILE_COLLISION
Core/Spells: Ensure Haunt's healing takes in consideration crit damage
DB/Misc: Fix startup and runtime errors

By dr-j
DB/SAI: Fix more runtime errors

By dr-j
Core/Spells: Implement CREATURE_TYPEFLAGS_PROJECTILE_COLLISION, and solve some targeting problems with TARGET_DEST_TRAJ
Scripts/MagistersTerrace: fix possible crash