Get correct SpellID for spells overwritten by other spells, talents, or glyphs

This fixes both Ticket 282 and 283.  As far as I can tell, GetSpellLink
is the only way to retrieve the correct SpellID.  No measurable
performance impact from the changes.  Save the name to both the original
and the new SpellID as some scripts (such as leafkiller's) reference the
name using the original SpellID (and its no different than the name
pulled from GetSpellBookItemName).