Merge pull request #2 from armm77/master

Thank you for this for this.
Merge the GO changes dfighter2->Master part 21

ADDED: GO_Button, GO_Door, and GO_Goober classes. These are mostly skeleton classes for now. However opening/closing should work just fine (when you open one of these, some of them have auto-close events, it should work just fine now ).

ADDED: GameObject::Open and GameObject::Close virtual methods. The names speak for themselves.
MODIFIED: Trap invisibility will now be set in GO_Trap::InitAI instead of the summon spell effect handler.
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"
Merge the GO changes dfighter2->Master part 23

MODIFIED: SpellEffectSummonWild should now work with GameObject caster too. ( for example Blood of Heroes uses it to summon a fallen hero )

ToDo: clear the cinflict function. The modified function influenced nothing
Merge the GO changes dfighter2->Master part 24

ADDED: .go faction GM command. It allows you to change the GOs' factions.
Merge the GO changes dfighter2->Master part 25

MODIFIED: GameObjects are now instantiated with CObjectFactory.
Merge the GO changes dfighter2->Master part 26

ADDED: CRitual class. It implements (summoning) rituals. It bears all responsibilities (regarding the rituals themselves ) previously vested in the GO_Ritual class.

MODIFIED: Rituals will now be handled with this new class.
Merge the GO changes dfighter2->Master part 27

ADDED: new class GO_SpellCaster. Implements Type 22 GameObjects.
MODIFIED: Some refactoring regarding Spell::SpellEffectSummonObject.

ADDED: GO_SpleeCaster files...
Merge the GO changes dfighter2->Master part 28

MODIFIED: White magic numbers be gone! We prefer black magic around here!
Merge the GO changes dfighter2->Master part 29

ADDED: GO_Destructible class. Implements type 33 ( DESTRUCTIBLE ) GameObjects!

ADDED: .go damage < damage > < spellid >  -  damages the destructible GO for < damage > with spell < spellid >
       .go rebuild - rebuilds the destructible GameObject, restores it to defaults.

Thanks a bunch to Trinitycore and Silinoron for the research done regarding flags, packets, structures, etc :)

MERGE: Finished -> related to issue #150
Adding dfighters comments from branch bg to master... maybe it helps to find out what the current standing is/was...

Created Bg branch, added some comments so I don't have to reread over and over again to know wtf I am looking at.