Tweaked is_special_character() to be meaner, leaner, and less buggy
Not that those bugs matter, they only effect traitor cyborgs.
Err... ok so now is_special_character() is good. Sorry.
Fixes for the following 3 runtimes

runtime error: Cannot read null.occupant
proc name: Topic (/obj/machinery/computer/scan_consolenew/Topic)
Added a check to make sure there's an occupant.

runtime error: Cannot read null.key
proc name: toggle power (/obj/machinery/particle_accelerator/control_box/proc/toggle_power)
Added a check for if there's a usr.

runtime error: Cannot read null.backup_author
proc name: attack hand (/obj/machinery/newscaster/attack_hand)
Added a check for if the feed still exists.
Remove transfer_fingerprint_to in favor of add_fingerprint

Add_fingerprint has sanity checks, which makes it a superior proc.
This fixes at the very least:
The following runtime has occured 14 time(s).
runtime error: Cannot execute null.Copy().
proc name: transfer fingerprints to (/atom/proc/transfer_fingerprints_to)
  source file: detective_work.dm,155
  usr: Engineering Cyborg-743 (/mob/living/silicon/robot)
  src: the disposal pipe (/obj/structure/disposalpipe/segment)
Runtime fix for Telecomms machines, hopefully
Runtime in question:
The following runtime has occured 17 time(s).
runtime error: Cannot read null.name
proc name: Topic (/obj/machinery/telecomms/Topic)
  source file: machine_interactions.dm,346
  usr: M.I.N.D. (/mob/living/silicon/ai)
  src: Bus Mainframe (/obj/machinery/telecomms/bus/preset_three)
Moved a check in the DNA machine to hopefully fix that pesky "but there's nothing connected!" runtime.

Thanks Carn and CIB.

The following runtime has occured 7 time(s).
runtime error: Cannot read null.occupant
proc name: Topic (/obj/machinery/computer/scan_consolenew/Topic)
  source file: dna.dm,891
  usr: Trey Campbell (/mob/living/carbon/human)
  src: DNA Scanner Access Console (/obj/machinery/computer/scan_consolenew)
Revert "Remove transfer_fingerprint_to in favor of add_fingerprint"

This reverts commit 4a7ba48b11891a06ca9228c9dd6334a7ed2d25e9.

I misunderstood what this proc was doing.
DNA Machine tweaks to fix runtimes for when the machine disappears

Really a fix on the commit from earlier, which I'm aware didn't work. I tested this extensively, works just fine.
Remove that annoying ass "is_special_character used on an unknown silicon" debug message.
Merge branch 'master' of git://github.com/MrPerson/-tg-station into Testing
Very minor optimization to MrPerson's changes.
Replaced some ifs with a switch statement.
Replaced an uneeded loop through a list (list.Remove() does this anyway)

Signed-off-by: carnie <elly1989@rocketmail.com>