Fix ShapedOreNBTRecipe not actually comparing NBT, fixes #282

The method `checkItemEquals` was never getting called because it is a private member of `ShapedOreRecipe`. Maybe a PR to Minecraft Forge to change access level to protected would be considerable.

ShapedOreNBTRecipe had to become almost a full implementation of ShapedOreRecipe, so much so that it could be worth implementing from IRecipe directly.

All of the code I provided was sourced directly from ShapedOreRecipe.java

This fixes issue #282 now that the Tags are being compared,