Fixes organs not being removed due to damage

Because the dismemberment check was being done before brute_dam was
updated, the attack that actually brought brute_dam above the threshold
would not be able to pass the check, regardless of how much damage was
actually done.
Fixes suits being punctured by projectiles when...

...fully blocked by a shield.

Conflicts:
	code/modules/mob/living/carbon/human/human_defense.dm
Fixes melee attacks using area effect armour values

def_zone is normally not set when attacking with a melee weapon, and the
melee armour check didn't use target_zone for some reason.
Moves turf collision handling into living_defense

Conflicts:
	code/modules/mob/living/living_defense.dm
Adds miss chance and shield checks to thrown atoms

Also makes setting a thrown atom's throwing var the responsibility of
the handler, so that impact handling code can decide if the thrown atom
should keep on going.

Conflicts:
	code/game/atoms.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/living_defense.dm
Thrown items can be targeted, has miss chance...

...based on distance, similar to projectiles.

Conflicts:
	code/defines/obj.dm
	code/game/machinery/kitchen/smartfridge.dm
	code/game/machinery/vending.dm
	code/game/mecha/equipment/weapons/weapons.dm
	code/modules/games/cards.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/living_defense.dm
Thrown momentum no longer depends on fingerprints

Conflicts:
	code/modules/mob/living/living_defense.dm
Bad indentation causing robot modules to embed

Conflicts:
	code/modules/mob/living/carbon/human/human_damage.dm
Moves human specific hitby code to human_defense

Conflicts:
	code/modules/mob/living/living_defense.dm
Thrown sharp objects no longer always embed