Adds Weapon Framework

Moves 'required' methods to IWeapon interface(fuck interfaces)
Weapon, WeaponSwitcher and WeaponCollection implement this interface.
Still needs to be tested.