Alternative "weird meat" fix; corpses must have "corpse" != NULL -and- typeId() == "corpse". Meat retains "corpse" ptr for future shenanigans

Both this and https://github.com/CleverRaven/Cataclysm-DDA/pull/2543 fix the same issue (that I accidentally introduced in https://github.com/CleverRaven/Cataclysm-DDA/pull/2527 , sorry =[)

This: corpses are based on typeid and require valid corpse pointer: Able to determine meat's origin (ie, this is meat from a crow). Only 1 'corpse' itype possible.
2453: corpses are based on valid corpse pointer; No way to tell meat's origin, With adjustments elsewhere, multiple corpse itypes possible.