Add new interfaces for recipe registry rewrite.

Pretty much rewritten the whole recipe registration system. Every recipe
is now an instance of IRecipe and has an input, output, additional
properties and a unique named id.

Recipes can be registered using a specific RecipeRegistry per
possible machine.

You can also search for recipes in an arbitrary manner by using a
SuperRecipeRegistry.RecipeMatcher.

I also added a class that represents "any weather type", as this is
necessary to resolve the equals() method for recipes that contain
weather types.
Replace all references to old recipe registration

Deleted all the old CustomRecipe and RecipeRegistry classes and
refactored existing code to use the new Recipe Registration system.