Formalized utility requirements for recipes.

Furnaces and such are such a huge part of Minecraft that it would be
irresponsible to ignore their need.  Now, you can specify an optional
--needs clause to list utility items that are required to craft the
item.
No defaults for --needs.

Since McRaw can't determine what is a crafting table, etc, we can't
specify /any/ defaults for --needs even as the vast majority of items
need a crafting table.
Format changes, search functionality, etc.

Just look at the diff.  Nothing major.