Make MerchantRecipes metadata-sensitive

MerchantRecipes use OreDictionary to check if their ItemStacks are
equal to the ItemStacks of another MerchantRecipe.
Closes #1328