[B] Added equals() and isSimilar() methods for recipes. Fixes BUKKIT-2804, Adds BUKKIT-2291

**The Issue**

There is no way of comparing recipes, expecially against recipes from events which are new objects with diferent content that make the same recipe.


**Justification for this PR and breakdown**

This PR provides equals() and isSimilar() methods for Recipe objects which will compare ingredients properly regardless of the style used in creating the recipe.

More information in the code as comments and javadoc.


**Testing Results and Materials**

A sample plugin that will add some custom recipes and use the created methods.
http://s000.tinyupload.com/index.php?file_id=00522648373141133929


**Tickets**
[Ingredients for recipes are different (after creation != at an event) / BUKKIT-2804](https://bukkit.atlassian.net/browse/BUKKIT-2804)
[Implemented matches method for all Recipes! / BUKKIT-2291](https://bukkit.atlassian.net/browse/BUKKIT-2291)