>Resolves some dna runtimes. - check_dna_integrity() was not being used properly.
>Removed a for(obj/item in world) loop triggered by bloodying items. It now uses a caching system.
>New skin_tones - they are now sprite-based. This is to prepare for expansion of the mutantrace system. Thanks validsalid x
>Removed fat icons from the game - when you are obese you will now just look like a regular human. You will not be immune to being pushed. You will not be immune to choking. You will still overheat and run slower and appear fat upon "examine" verb use.

Modified   code/__HELPERS/mobs.dm
Modified   code/game/atoms.dm
Modified   code/game/dna.dm
Modified   code/game/machinery/computer/hologram.dm
Modified   code/game/objects/items.dm
Modified   code/modules/client/preferences.dm
Modified   code/modules/client/preferences_savefile.dm
Modified   code/modules/flufftext/Hallucination.dm
Modified   code/modules/mob/living/carbon/alien/larva/larva.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/carbon/human/life.dm
Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/modules/mob/living/carbon/monkey/monkey.dm
Modified   code/modules/mob/living/silicon/robot/robot.dm
Modified   code/modules/mob/living/simple_animal/constructs.dm
Modified   code/modules/mob/living/simple_animal/friendly/corgi.dm
Modified   code/modules/mob/living/simple_animal/friendly/farm_animals.dm
Modified   code/modules/mob/new_player/preferences_setup.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi

Signed-off-by: carnie <elly1989@rocketmail.com>
update_icons.dm changes for humans. This ties in with the dna changes and the changes to skin_tone and hair colours
>update_mutantrace() is no more, it is now part of update_body()
>Moved a lot of stuff into update_base_icon_state(), this will allow making mutantraces modular.
Almost all icon operations are now removed from human overlays (obviously some are still required for recolouring hair and eyes). Any remaining dynamically generated overlay icons are applied individually. This will allow byond to cache them better. This will also eliminate the bug where humans are initially invisible/unclickable when you first encounter them (due to network latency where the icons are being downloaded).
>UpdateDamageIcons() renamed to update_damage_overlays(), so it has the same sort of name as the other procs
>update_icons=true or false arguments removed from human overaly-update procs, no longer required. (i.e. the update_body() update_inv_whatever etc procs do not call update_icons() - see documentation for details)
>mutantrace icon_states moved into human.dmi
>skeletons are now a mutantrace, not a mutation.
>update_icons system should now be even more efficient (thanks partly to aranclanos)
>documentation rewritten
>copypasted code moved into helper procs - super tidy code :3

Other:
>Removed compile error where the core code was reliant on compiling away mission code. >:[
>s_tone renamed to skin_tone

Modified   code/modules/mob/living/carbon/human/update_icons.dm
Modified   code/__DEFINES.dm
Modified   code/datums/datumvars.dm
Modified   code/datums/limbs.dm
Modified   code/game/dna.dm
Modified   code/game/gamemodes/changeling/changeling_powers.dm
Modified   code/game/gamemodes/cult/cult_items.dm
Modified   code/game/gamemodes/cult/runes.dm
Modified   code/game/machinery/doors/airlock.dm
Modified   code/game/machinery/portable_turret.dm
Modified   code/game/machinery/teleporter.dm
Modified   code/game/mecha/combat/combat.dm
Modified   code/game/objects/items.dm
Modified   code/game/objects/items/stacks/medical.dm
Modified   code/game/objects/items/stacks/sheets/glass.dm
Modified   code/game/objects/items/weapons/storage/bible.dm
Modified   code/modules/assembly/mousetrap.dm
Modified   code/modules/hydroponics/hydroitemcode.dm
Modified   code/modules/mob/living/carbon/carbon.dm
Modified   code/modules/mob/living/carbon/human/death.dm
Modified   code/modules/mob/living/carbon/human/human.dm
Modified   code/modules/mob/living/carbon/human/human_damage.dm
Modified   code/modules/mob/living/carbon/human/human_defines.dm
Modified   code/modules/mob/living/living.dm
Modified   code/modules/mob/living/simple_animal/friendly/slime.dm
Modified   code/modules/mob/mob_grab.dm
Modified   code/modules/power/lighting.dm
Modified   code/modules/reagents/Chemistry-Reagents.dm
Modified   code/unused/_debug.dm
Modified   icons/effects/genetics.dmi
Modified   icons/mob/human.dmi
Modified   maps/RandomZLevels/wildwest.dm
Modified   tgstation.dme

Signed-off-by: carnie <elly1989@rocketmail.com>
*Resolves an issue where the gender block was being misread, resulting in gender changes.
*Resolves a potential issue with hardsetting dna, where dna could potentially be created for carbon-based mobs that do not currently support it
*updateappearance(mob) now works for any carbon mob (i.e. monkeys)
*all dna setup procs like hardset_dna check_dna_integrity and ready_dna, return the dna in question (or null/0 on failure) (as per Giacom's request)

Modified   code/game/dna.dm
Modified   code/game/gamemodes/changeling/changeling_powers.dm

Signed-off-by: carnie <elly1989@rocketmail.com>
*Fix for syringes
*Fix for one icon_state being the wrong shade (apparently)
Wholesale A-star replacement

I wish I'd just been able to update the original version, but something
kept going wrong.

This version creates paths of identical lengths (not necessarily the
same paths!) while evaluating, on average, only 35% of the tiles that
the original algorithm would. Seems like a decent improvement.

Also fixes some grammar in the mulebot file.
A-star fixes

Will obey the maxnodes parameter if it's provided (although perhaps not
in the way that it was originally meant?) The only one that uses it is
disease, and it wasn't an issue there, but at least in future it won't
be a problem.

Also slightly increased the maximum loop count from 1500 to 1800, on the
off-chance that the previous value was pessimistically low. In the
initial station this doesn't go past 1000, but if bots understand doors
their paths might get squiggly.
Minor modifications to Yvar's A* fixes:
-Removed the priorityqueue datum. It is now a list()
-priorityqueue/proc/insert is now a helper /proc/sorted_insert() as it may be helpful in maintaining pre-sorted lists or insertion sorts.
-Replaced priorityqueue/proc/extract_last() calls with calls to pop(), which already existed.
-Removed last few references to "bestF" (from old awful A) in lighting and MC
-Replaced a section were it'd append to the end of the returned path list and then reverse the list. Now it inserts at the start of the list.
Merge branch 'master' of github.com:tgstation/-tg-station into DNAfix

Conflicts:
	code/modules/reagents/Chemistry-Reagents.dm
Removed changeling unfat sting.

Modified   code/game/gamemodes/changeling/changeling_powers.dm
Modified   code/game/gamemodes/changeling/modularchangling.dm
Merge pull request #1 from Carn/AstarReview

Minor modifications to Yvar's A* fixes
Merge pull request #592 from Yvar/Astarfix

A-star replacement
Merge pull request #553 from Carn/DNAfix

DNA fixes - Update Icons refinements
Merge branch 'master' of https://github.com/tgstation/-tg-station