Item flag to counter hypo/syringegun/parapen. Gun cleanup/bugfixes.

* Added the THICKMATERIAL flag. It is used for thick coverall suits (space suits, firesuits, etc) and it will stop injections from syringes, hypos and parapens. It is also used for head items such as biohoods and space helmets. If you aim for the head, it will check if you can inject through the head equipped item, if you aim anywhere else it will check the external suit.

Let me know if I missed an item or if you don't think an item should have the flag.

* Cleaned up a bit of the gun code.
* Fixed an issue with shotgun darts not working in barrel shotguns.
* Made the on_hit() have a zone, will be used for syringe guns in another PR.
* Removed the unused sleepy pen.
* Changed /obj/item/weapon/gun/projectile/shotgun/pump/sc_pump to /obj/item/weapon/gun/projectile/shotgun/sc_pump, there was no /pump/ anywhere else.
* Shotgun darts will follow the new flag.
* Shotgun darts are now open containers, and I removed the snowflake check for them in syringes.
* Added logging for reagents in any projectile.