A bunch of miscellaneous fixes and avoidance of potential catastrophes

- Try to re-use monster IDs when a monster dies, and if
  we run out of IDs, jump ship and don't try to init the
  monster on a non-existent ID since that's not going to
  work as expected.
- The player doesn't have a monster ID, so don't try to
  grab the height from the monster index for things that
  aren't in the index. This, combined with our wanton
  changing of the TID for spawning popoffs was confusing
  the Popoff function and making it spawn numbers at the
  player's feet.
- In light of above, don't change the actor's TID when
  spawning popoffs, since that serves *no* viable
  purpose.
- Monsters were triggering the shield-break check when
  their spawn health was much lower than their max
  health, so don't do the shield checks at all unless
  the damage number is coming from a player
  specifically.