Core/Spells: Fix potions cooldown in combat

Fix a cooldown issue related to potions allowing Players in combat to use more than 1 potion in a row, especially with high latency.
This also fixes an exploit about using infinite potions in combat just by skipping the client-side check.
The original implementation c064c2e2e1eebd43b273365583dd181293bafa22 was missing a check in Spell::CheckCast() about this particular case since Potion cooldown is added only after the Player goes out of combat.
Fixes #1259 .