Recipe data structure update

Three functional parts, thus far:

1. Recipes have been pushed to JSON. Large commit. I've got a Perl recipe2json script that I used to convert them all, feel free to ask me for that if you want to make sure I got everything right.

2. Recipes are stored by category in a std::map, rather than all in a row in a std::vector (may afford speed improvements?).

3. Bugfix: filtering recipes no longer gives you access to the noncraftable category.

I've got more that I want to do eventually, but I want to get this submitted now just so that people are aware of the JSONification (partly because GlyphGryph might want it, and partly because ow, lengthy commit).