Generalized javadoc on Recipe interface.

Also added a detail in ShapedRecipe isSimilar()'s javadoc.
Added hashCode() method for all recipe methods along with javadoc for hashCode() method in Recipe interface.