Implemented ItemStack sensitive furnace recipes so that NBT can be used to add different recipes

In IRC I heard someone wanted to add NBT-sensitive furnace recipes, so I implemented it.
If something is missing, please tell me and I'll try to add it.

Hope it's useful

PS: I'm very new to the patch files, so something might be mistaken. I used emacs because it modifies the numbers automatically, but I don't know when they should change