Cavity implant disk fix, steal objective finding fixes

Adds GetTypeInAllContents, which should be self-explanatory. It recursively checks for a typepath locating in an atom.
It's used by cavity implants to make sure you can't slip the nuke disk in.

Objective items in a cheesewheel in a book in your backpack will now be located properly by the game.

Removes /obj/item/weapon/gift from the code, as it was completely unused.

Also removes the smallDelivery loop in /mob/proc/get_contents(). It's amazing that proc worked at all, it really doesn't do what it's described as doing. I'm leaving it for now, as the game seems to have gotten on well enough so far, and it'll probably just increase processing for no gain if I fix it.

And finally, unrelated but I thought I'd throw it in (sorry); standardisation of names in supplyshuttle.dm