TG Update r3659 to r3681

- Removed support for the ONBACK and ONBELT flags.
- Replaced them with a whole range of inventory slot flags. These now govern
whether an item can or can't be placed in a certain inventory slot. See setup.dm
for information on the flags. These flags only affect humans tho, as humans are
the only beings with an inventory to talk of.
- Standardized some gun code and some other pieces of code as I came accross
them. I hate indented variable definitions! 
- The above should not bring any change whatsoever to the game from a player's
perspective.
- Added a obj/structure ex_act(), blob_act(), and meteorhit().

- Made gasmasks block visibility of glasses and ears.

- Fixed being able to wear plasma tanks on your back.

- Fixed the gas mixer sprite not lining up with horizontal pipes correctly.

- Removed a bunch of pointless text()s from a few files. I was going to get rid of
all of them, but I gave up after a while. Most of the diffs are this.

- Standardized var definition for RND and radio code (possibly some other stuff)

- Removed all cases (that I saw anyway) of flags being defined by static
numbers.

- Some runtime- prevention tweaks so that impatient coders don't just break everything somewhere down the line.

- Added new transfer valve assembly sprites from Baystation 12, and made the transfer valve update_icon() a lot simpler and more robust.

- Added a equip_to_appropriate_slot() proc for later use with the UI to speed up equipping yourself. Human mobs only.

- Minor polishing tweak to borg hypos. The recharge time/cost and recharged chemicals cut in half (same net amount over time, but it comes more fluidly). Resets the recharge timer upon switching modes so your battery charge and chemicals aren't wasted.
- Added the (src)s to the robot modules that I forgot. It all seems to work fine
without them, but just for the sake of consistency...

- Replaced some hardcoded hallucination strings for screen placement to instead
use #defines from hud.dm. Please don't use hardcoded constants when there are
variables or defines available...

- Pacman generators now accept their proper mineral sheets as fuel
Janitor Cyborgs can no longer make nuke ops auto- lose by picking up the nuke
disk.

- Gave Roboticists morgue access. As a job that handles corpses frequently I felt
that this would be for the best.

- New PDAs for atmos, genetics, and chemistry
- New sprites for engineering and medsci PDAs
- Warden area renamed to Armory

- Removed reagent scanners from scientist and RD PDAs and gave the function to chemist and CMO PDAs
- Making Heads slightly more headlier. Head offices given more desk space and
given spare PDA carts for their department. PDA Carts are also removed from
equipment lockers.

- Added a new logging system that can be used for various things in the game (such as the singularity engine, AI interactions, anything- else that may be suggested to me :P).

At the moment it only logs some singularity things. Please let me know if there
are any important methods of singulo- grief which I may have missed.

The "Investigate" verb is available to everyone of rank "Admin observer" and
upwards. Just type "Investigate" and select the subject you'd like to see logs
for. Typing "Investigate singulo" will also work as a shortcut.

- Disposal/Pipe Dispenser can no longer be used 'remotely' or while stunned or
while they are unwrenched. Fixes  issue 517 .

- Can no longer eject the nuke disk from the nuke while stunned. Fixes  issue 497 .

- Cyborg 'skull' masks now have east and west facing sprites. Fixes  issue 468 .
- I encourage anyone with actual spriting skills to redo them though, I just
spent 5 second in photoshop whipping these up. (icons/mob/mask.dmi the icon
labeled 'Death')