Custom UI
brainmob fix: decapitated head is now really dead
Fixes: AI won't steal fax, and mice won't flip tables anymore.
DNA2 - A recode of DNA

DNA now stores blocks internally as numbers and only makes the uni_identity and struc_enzymes strings when something has changed. This is vastly more efficient.

In addition, the API for using it has been simplified. Common tasks, such as setting a sub-block, or getting a value from the block, are handled entirely by the DNA datum with simple, easy-to-use procs.

Tested on local server, but may need balancing and additional look-over since the code is from our server (/vg/) and I likely broke or forgot something.
Moved the CentComm channels onto their own tcomm network thing

* 144.1 and 144.3 are accessible through regular headsets, silly people were using them to listen in on response teams
* Moved the ERT and Deathsquid channels to 134.5 and 134.1 respectively
* Created presets for a tcomms setup on the CentComm zlevel
Set up telecomms on the CentComm zlevel
Changelog fix, putting Yinadale's stuff up top.

Hopefully done in a manner in which there shouldn't be any conflicts.
Bugfix:  Internals HUD click action.

Before:  If you had a tank on your back full of nice precious oxygen, and a tank of plasma in your hand and thought "I'll play it safe and turn on internals" and click the internals icon you would start sucking down plasma like you weren't really qualified to handle such things, how do you even get those two mixed up you big dummy!  Code was hardcoded junk.

After:  A check of what your species prefers to breath, you are an adult, I'm pretty sure you can remember if the tank on your back is oxygen or not, and you will turn on the fullest tank.
Code is now nolonger hardcoded junk, and is expandable by editing a couple of variables instead of hardcoding everything.  Double Rainbow, All The Way Across The Sky!

Also coded in a check for "Carbon Dioxide" in the event a downstream server uses a race that breathes that or we move dionaea to breathing it in the future.
Merge pull request #4017 from Ccomp5950/changelog

Changelog fix, putting Yinadale's stuff up top.
Fixes #2355
Bugfix:  AI's will no longer disintegrate if they click the supermatter.

While hilarious this is a terrible bug.
Bugfix:  AI no longer dies if touching the supermatter, using attack_ai instead of a isAI() check.
Merge remote-tracking branch 'upstream/dev' into dev-radio

Conflicts:
	maps/tgstation2.dmm
Let's try this again.

* I hate map conflicts
Merge pull request #4018 from Kilakk/dev-radio

Moved the CentComm channels onto its own tcomms network/channel
Tanks will also keep up with who manipulated them last.
Tanks placed in canisters, scanned with PDA or other analysis tool will set the manipulated_by variable to whoever did so.

The idea is that this person is aware what's in the tank and will act accordingly when you press the internals HUD icon.

If the user was the last person to manipulate the tank (or it's not been manipulated) then the user is smart about selecting the proper tank.

If the user was not the last person to manipulate the tank then he is only checking the pressure gauge to see what tank is fullest that matches his species breath_type

If that tank has nasties in it, welp he is going to get a breathful of nasties.
Merge pull request #4026 from Ccomp5950/ai_supermatter_badtouch

Bugfix:  AI's will no longer disintegrate if they click the supermatter.
Merge pull request #4025 from nightexcessive/bugfix/ai-apc

Fixes #2355
Merge pull request #4023 from Zuhayr/feature

Ability skeleton code, basic cryopod functionality.
Added Telesci to the investigate list.

Admins will now be able to select it and view who used the telescience machines