Code for the janitorial cart. Updates some parts of the old janicart too.
Objective items in a cheesewheel in a book in your backpack will now be located properly by the game.
Standardises names in supplyshuttle.dm
Adds GetTypeInAllContents, which should be self-explanatory. 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.
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 does 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.
Fix for null.synch() grab runtime.
Fixed the forcesay runtimes, and slightly restructured stunbaton.dm.
Update to use proper procs rather than setting stuttering directly
Added feedback when grabbing someone fails because they're buckled.
Readded the thwump sound when you harmbaton a dude.
Removing the janicart from the map, replacing it with the new janitorial cart.
Updates the janitor's starting equipment and his locker.

Updates the contents of the safe in the vault.
Committing the janitorial cart! Sprites not included.
Updates the mop and mop bucket code. Should work exactly the same.
Adds an exception for the janitorial cart to spray bottles.
Fixes capitalisation of the cleaner grenade.
Fixes the description.
Print SQL connection errors to world log.
Merge branch 'master' of github.com:tgstation/-tg-station into janicart
Updating to fit with Cheri's sprite pull.
Fixes not being able to store the mop when the cart and mop are dry.
Resolves #116 - PDAs can only be used when in the user's contents, as opposed to previous behavior where it could be in any mob's contents or on the floor.