fixes exploits with the mech fabricator (/tg/)

this exploit is in all public builds i could look at.

using the mech fabricator, and you were able to duplicate any obj in the server.

as a nice bonus you could also abuse the part-description-function to identify any atom in the server
memory for even easier access to other yet unknown exploits of this kind.

and also range check was missing to make sure you are not on some other z level massproducing guns.

i will not go into details, as it is exactly the same kind of exploit over and over, 
so if you are interested on how and why these exploits work, see some of my other exploit commits :
https://github.com/tgstation/-tg-station/pull/3416
https://github.com/Baystation12/Baystation12/pull/5068

i advise any coder team to be supercautious when changing/writing new Topic procs to prevent these,
and to always doublecheck other coder's works.
fixes exploits with the mech fabricator (/tg/) v2

changed a few things according to /tg/ dev feedback.
https://github.com/tgstation/-tg-station/pull/3806
fixes exploits with the mech fabricator (/tg/) v3

changed more things according to /tg/ dev feedback.
tgstation#3806
fixes exploits with the mech fabricator (/tg/) v4

fixing a derp
fixes exploits with the mech fabricator (/tg/) v5

more brainfart removal.
in retrospect i should have cloned this build for compiler handholding.
Merge pull request #3806 from Walter0o/exploit_fix

fixes exploits with the mech fabricator (/tg/)