Merge the GO changes dfighter2->Master part 22

ADDED: GameObject::Use method. Instead of directly calling Open/Close this will be called when using the GO, from either a spell effect or HandleGameObjectUse packet handler.

ADDED: GameObject::CastSpell that takes SpellEntry instead of spellid.
MODIFIED: Moved GO_Trap::CastSpell to GameObject::CastSpell
MODIFIED: GO_Button, GO_Chest, GO_Goober should now cast their trap spells when "used". (lots of them however will be canceled due to the spell effect handlers requiring a Unit caster. This will have to be modified too )

ToDO: SpellEffects.cpp LOCKTYPE_QUICK_OPEN change to "Use"