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?
Does this really need a prefix? Anyone storing these should know what type of thing they're going to give it to.

It can also cause a conflict if there is a mod using 'oredict' as its modid.