Map cleaner tool and merge driver

Most info can be found in maptools/install.txt
Tiny bit of tidying up for global.dm and landmarks.dm, removing some old, oooold vars.
Added adminlogs to hacked laws (tator syndicate board)
Code for the janitorial cart. Updates some parts of the old janicart too.
Refactored underwear to use datum/sprite_accessory/underwear similar to hair and facial_hair.
People may select any underwear (regardless of gender) at a dresser, but not in preferences.
random_underwear(gender) will return a random pair of underwear suitable for your gender.
Removed an unused variable in sprite_accessory

The new_player preferences screen now randomizes character slots for which there is no data (so no more bald, fat, white guys in diapers greeting new players)
datum/preferences character settings are randomised at New().
replaced /datum/preferences/proc/randomize_appearance_for(human/H) with /datum/preferences/proc/random_character(), it does the same stuff without the copying to a mob. Basically, now when you want to make a random character you just do var/datum/preferences/A = new(); A.copy_to(human_mob), randomisation of appearance and name will already be done. Easy.

Reworked the savefile updating/versioning code to make it easier to work with. I've used it to update underwear preferences to the new system as an example.

Signed-off-by: carnie <elly1989@rocketmail.com>
Accidentally remove a dna initialize call.
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.
Merge branch 'master' of github.com:tgstation/-tg-station into pr/151

Conflicts:
	code/modules/mob/new_player/new_player.dm
Restricted h_style f_style and underwear preference selection by gender to avoid conflicts with sanity checks.
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.
Fixes capitalisation of all suit names.
Merge pull request #174 from Petethegoat/suitnames

Fixes capitalisation of all suit names.
Merge pull request #166 from Giacomand/master

[MAP] Re-added the phone to the AI Foyer. Added a desk and table with some wall objects moved around.