Monster JSON and mtype conversion/access changes

This is a lot of changes for a small amount of functional difference. Pretty much gets rid of the usage of game::mtypes vector, and mon_id enum, in favor of using the JSON file's ID strings. There are a lot of points where the name is hardcoded into the game which will also need to either be gotten rid of or worked around in some other manner.

MonsterGroups now have string id access, but have not been moved to using JsonObject instead of picojson loading functions.

Largest single addition is monsters.json at 3734 lines
Other additions are generally small changes moving from g->mtypes[mon_id] to string access through MonsterGenerator class.