Crafting improvements

Now you can give crafting datums to anything, manage recipes with the controller and families of datum holders and so on and so forth
Also added deconstruction, but left the menu old so its in but handling for it you will need to make yourself
Also as MP long ago suggested i removed the "contents" var from the crafting thingie and made it generated in the proc/argument