[c2014] Fix a typo for spell 37096
[c2015] Add some safety to some preprocessor defines
[c2016] Remove a few empty lines
[c2017] DBScripts Engine: Support buddy search by guid

* Add new `data_flags` flag SCRIPT_FLAG_BUDDY_BY_GUID (0x10)
 If this flag is set, the content of `search_distance` is interpreted as db-guid of the requested buddy

* Also switch most error log output to DB-error log output (though this will include false positives)
[c2018] DBScripts Engine: Allow pets as buddy

Add new flag SCRIPT_FLAG_BUDDY_IS_PET (0x20) that will search not for a normal npc with buddy-search, but also for pets
[c2019] DBScripts Engine: Change behaviour to search for a different npc when using buddy-search

With this an npc buddy will be interpreted as "another npc with entry"

Also toggle command 31 - TERMINATE_SCRIPT to also look only for other npcs of entry
[c2020] EventAI: Improve TargetSelection related ErrorLog output
[c2021] Fix SpellDamage modifier of SPELL_AURA_MOD_DAMAGE_DONE_CREATURE

This aura modifies a flat value, not a percent value.
[c2022] Fix take ammo for most ranged spells

Fix spells like Arcane Shot not taking ammo while they should
[c2023] Fix invisible spirit healers & such on death near them

This fixes an issue that occurs if you die close to a spirit healer/guide.
[c2024] Implement some spells for Felmyst encounter

Spell entries: 45714, 45717 and 45918. Limit targets of spell 45391
Also add stacking exception for auras 45068 and 45582
[c2025] Fixup commit s2023 Thanks to Zakamurite for pointing

Also thanks to him for giving a helping hand in correcting the commit
[c2026] Forward original caster GUID to script library
[c2027] EventAI: Implement ACTION_T_SET_THROW_MASK (46)

This Action can be used to set which AIEvents should be thrown automatically, if you need more flexibility, you can always use the manual ACTION_TH_THROW_AI_EVENT version.

* Also clean some error-log output a bit.
[c2028] EventAI: Improve code

* Drop rather pointless bool to check if the number of assigned events is empty
* Before the phase was resetted on death if and only if the npc has Events defined
* DoMeleeAttackIfReady could have been called even though combat state could have changed while processing events
[c2029] Do not remove FLY auras on Evade

Also consider npcs which have SPELL_AURA_FLY as being able to fly
[c2030] Enable resummoning of warlock pets
[c2031] Allow player pets to swim
[c2032] Allow spell effect 86 - Activate Object to use the misc value
[c2033] Add stacking exception for spells 39993 and 40041