Add ore dictionary support and recipes

This is basic API for custom crafting recipes, which do support ore dictionary. Ore dictionary and recipes are both created as services, and most files are interfaces. For recipe objects, I decided to use classes, as using constructor is really handy in this case.

Edit: I didn't use ServiceProvider or such things, should I have used?
Constructors cannot used if they're interfaces. As RecipeService is still interface, and implementation will specify it, I don't think that this is problem.