Move the blood and gib type function to monster type class.

Instead of duplicating them in the monster class.

Also refined the test: no default to fd_gibs_flesh but fd_null instead, and check for fd_null when using that function.
Only return specific gib/blood types when the monster is surely made of this.
Also made those function in mtype const.
Prevent chunks of meat from going through walls.

Note that map::bash return true if there was something to be smashed.
This does not indicate that the square is not a obstacle anymore.
New flyer.

Credit to John Candlebury for the idea and the bulk of the text.

Source:
http://smf.cataclysmdda.com/index.php?topic=5847.msg102622#msg102622

Also, I'd never really paid any attention to it before now, but the game
misspells it as 'flier' in the code, but gets it right in-game.
corrects the season offset
Don't create gibs through walls.

Also use break, not a bool variable to break out of a loop.
Words words words.
Merge branch 'gib-skeletons' of https://github.com/BevapDin/Cataclysm-DDA into merge
Ratchet fix
Merge branch 'Bio-ratchet' of https://github.com/i2amroy/Cataclysm-DDA into merge
Merge branch 'new-flyer' of https://github.com/Rivet-the-Zombie/Cataclysm-DDA into merge