How to make a SWEP that removes itself after one use?
You could strip it after PrimaryAttack is called.
Although i wont spoonfeed you what you want, i will tell you how to approach doing it.
In function SWEP:PrimaryAttack()
at the end of the function you will simply use
http://wiki.garrysmod.com/page/Player/StripWeapon with the class of the weapon, you can either get the class using the GetClass function or manually type it into the stripweapon function args.