Fabricator overhaul - RnD machines

Fabricator building system completely changed, in that now research fabricators ONLY build from designs, not obj. I have to expand the autolathe system of general fabricators in the future.
construction_time and construction_cost now no longer exist.
The protolathe and circuit imprinter have been consolidated under the fabricator type, and now all use build_part.
All design speeds are based on machine variables and the total material cost.
$metal has been replaced with $iron to unify the material systems.
Queuing part sets should now work properly, and all things currently constructable by the mech fab should have their own designs (which also makes those designs available to other machines). This means that ALL mech equipment, mech parts, and robot parts/components, are now designs as well.
Added the FindDesign proc to get the design of an object, which is used in the code.
Added a system of research_flags to the research machines to replace the vars I introduced for common behaviour. The bitflags are explained in setup.dm
Added unlockable lockboxes to fabricator build_part. It is possible to make a fabricator make REAL lockboxes, but nothing currently uses it. I hope this is a good balance.

This has taken a lot of my time recently to try and do, but it's important groundwork for the port that's still in the works and got suspended for this.
Please comment this out, it's spamming up the logs.