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.