Fixes.

See commit log.

Syringe gun fix was mostly stolen from tgstation, links to the commits are in the issue report.

Fixes #4923 
Fixes #4918 
Fixes #4808 
Fixes #4716 
Fixes #4744 
Fixes #4911 
Fixes #3993