Adding system for retributive monster strikes.

Ported and buffed the current scheme for damage on hit from shock zombies and shadows to a new framework for triggering things that happen when something is hit.  The longer-term idea is to make combat a bit more dynamic and strategic by incentivizing/penalizing different types of attacks beyond basic damage type resistance/weakness and armour piercing.  This will also hopefully help keep the monster-specific stuff out of the generic attack/damage routines.

This is roughly analogous to the current sp_attack system.

As for the zapback buff, this is intended to make the penalty from striking a shock zombie worth noticing.  a 50% chance of 1 damage that can be blocked by wearing gloves is pretty weaksauce.

Looking for feedback, as this might also belong under on_gethit, but it doesn't look like that's been implemented for monsters yet.  I'd be happy to add a few more things to build on (quill attacks, spores, disarming, etc.) but figured some input would be good before ploughing forward.

-edit- I'm also aware that the commit is messy and it appears that I'm using my fork master for dev, I'm still working out how to use my usual SCC tools with Github.