Map cleaner tool and merge driver

Most info can be found in maptools/install.txt
Apologies in advanced for cramming this all into one commit, but it's all fairly interdependent.

Removes the old tgstation database. It has been merged into the newer feedback database.
All mentions of the old database have been replaced with the new one.
This includes updating tgstation_schema.sql and dbconfig.txt.

Removes README feedback.txt as it is now covered by the new schema.

Removes the unused forum DB stuff, including forumdbconfig.txt.
Updates the config, including both config.txt and game_options.txt. Many options have been moved into the latter.
Updates configuration.dm to reflect these changes.

Removes the config var/feature_object_spell_system as it did nothing.
Updates text (TG -> /tg/station), and removes some old comments.
Merges motd help.txt and motd.txt.
Trying to fix Git goddamn
Final Version of DesignHasReqs

Massive optimization on the DesignHasReqs() proc, cuts it down to the
bare minimum while still retaining its function. Testing using the
profile showed a 92% reduction in SelfCPU at 151000 calls.
Tiny bit of tidying up for global.dm and landmarks.dm, removing some old, oooold vars.
Merge branch 'master' of github.com:tgstation/-tg-station into DB_cleanup
Updating the db table names as per erro's comment.
Fixes forcesay working on dead people, and on asay/dsay.
Moved hud.dm to code/datums. Updated the dme.
The reactive armor will now unbuckle the person if this was buckled, just like on the wizard spells.
Minor chems update.

-Spraybottle chempuffs will now pass over tables.
-Further reorganization of chemistry reagents. Organizes toxic chems into subtypes. This cuts down on copied code and allows us to do fun things in the future, like machines that filter poisons and such.
Added adminlogs to hacked laws (tator syndicate board)
Merge branch 'master' of https://github.com/tgstation/-tg-station
Code for the janitorial cart. Updates some parts of the old janicart too.
Fixed issues related to shotguns and their shells.
-The description "A weak beanbag shell. This one is spent. This one is spent. This one is spent. This one is spent." made by double barreled shotguns is gone, now the message is only added when the shotgun actually fires and uses the shell
-All other kind of shotguns will now add the "This one is spent." message.
-Shotguns will stop firing invisible bullets, making them less confusing.

Changed the "You break the double barreled shotgun" message to "You open the double barreled shotgun" because it was confusing, the playes (myself included) thought that they actually ruined the pretty gun.
Standardises lib_items.dm, including names and text styling.
Merge pull request #163 from Petethegoat/libitems2

Standardises lib_items.dm, including names and text styling.
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>