Fixes siemens_coefficent not affecting shock damage

Also cleans up electrocute_act()
Modified function such that the atom isn't used in the defaults.

This caused the routine to crash when the atom didn't have an icon or was null.
Tidy up and use more sane defaults.
fixes runtime with calling PP on dna-less mobs
fixes alien castes not understanding each other

only /mob/living/carbon/alien have this var set, so this will not touch anything else.
Merge pull request #5877 from Walter0o/dna_fix

fixes runtime with calling PP on dna-less mobs
Merge pull request #5878 from Walter0o/aliums

fixes alien castes not understanding each other
Merge pull request #5868 from JimTheCactus/getFlatIcon_runtime

Fixes getFlatIcon Runtime on Atoms with no Icon
Merge pull request #5865 from mwerezak/shock-fix

Fixes siemens_coefficent not affecting shock damage
Merge pull request #5880 from Whitellama/master

Fixes #5870 (glasses being named inconsistently) and unreported issue of wet rags making glass-hit noises when you wash down a window
Verb fix

- Handles verb changes in the turn_off() and turn_on() procs
Reversing fix

- Allows cargo tugs to reverse their direction if they are not towing anything
Train fixes and balancing

- Slows trains to 90% of running speed
- Changes train impact damage to only take into account speed, not train length (otherwise you could insta kill people with a long enough train)
- Fixes a bug with towed cars ghosting through closed airlocks
- Stuns mobs who fall off a train that has blown up
- Fixes mobs standing/lying on vehicles
- Fixes exploding trains not decoupling correctly
remove double paper/attack() definition
adds lipstick wiping to proper paper/attack()
Fixes #5852
Fixes #5893
Fixes #5881
fixes wall rechargers showing up as normal rechargers.
Fireaxe cabinet hacking now fails if player moves away