Improved JSON reading API

Added a wrapper class around picojson. Not quite as light-weight, but MUCH easier to work with (shaved ~300 lines of boilerplate off of recipe initialization, with no loss of error messages - and probably improved error messages, at that!).

Also made recipe and profession initialization use the new catajson class. Recipe initialization is now entirely composed of game logic, not boilerplate I/O logic ^_^.