Merge branch 'master' of https://github.com/tgstation/-tg-station
Merge branch 'master' of https://github.com/tgstation/-tg-station
Added a way for us to add mobsprites for items unique to UMcS.
Merge branch 'master' into spritefix

Conflicts:
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
Cleaned and optimized the sprite fix.
Added in Nienhaus's police tape sprite fix
Merged policetape.dmi into uristicons.dmi
Merge branch 'master' of https://github.com/tgstation/-tg-station
Only monkeys and humans can shove mobs into disposal units now.
Added admin logs for mechs.
Fixed the mech sleeper sprite.

The logs are:
Mob logs for clamp, drill and "empty" hits, and syringe gun and sleeper injected reagents.
Also all the different ranged guns.
Added an admin notice and server log for the honkerblast, wormwhole generator and gravity catapult. These notices have a quick jump to mob, admin-PM and (?) button. They are pretty cool.
Monkeys will now handle storage items like humans. It will be highly noticeable on clicking your backpack while it's on your back slot. It will actually open the contents instead of moving the backpack to your hand without a sound.
Aliens are not included to this change.
There is a check for an object's turf, in the closet's mouse drop proc. Fixes #854.
Removed unnecessary checks.
Added missing icons for the bins.
 * Re-added reverse pickpocketing. Resolves #792.
 * Increased the time to empty pockets.
 * Split pockets into the left and right pocket slots.
 * You can tell if a pocket is empty or full from the strip menu.
 * Cleaned up the interface a bit.
 * Made the window name be the pointer of the mob, instead of the name, to prevent multiple windows opening when the mob changes name while being stripped.
Remote resources support.

There is now a PRELOAD_RSC define in code/_compile_options.dm. Setting it to 0 will allow you to use on-the-fly rsc downloads, or the new remote rsc features.

Normally (PRELOAD_RSC == 1) the game will send you all the resources for the game that existed at compile time, this is the long-delay before joining the game...but it means that the game isn't sluggish later on due to trying to download icons and such. Which is good, but uses a lot of bandwidth.

On-the-fly behaviour (PRELOAD_RSC == 0) is when the game only downloads icons when you see something for the first time...this is often responsible for things being briefly invisible on slow connections.

Remote RSC behaviour (PRELOAD_RSC == 0 and some urls defined in config/external_rsc_urls.txt), is a mixture of the two above behaviours. It allows you to connect without downloading lots of resources immediately. However, once you connect it will select a url from a list of urls which hold zipped up copies of the tgstation.rsc. This allows the load of downloading those large files to be distributed across a few cheap web-servers or free upload sites...whilst the main game-server is freed up for other stuff. Should preloading from a remote url fail, behavior will revert to on-the-fly.
Removed all the spawn(0) from bump code and the special check for turfs that rolan7 made a while ago on the mob different Bump() procs.
Added a special check on move() code, only when you're pulling something. If the loc of what you're pulling is the same after you moved, you'll execute the pulling. Otherwise you'll stop pulling. This is to avoid pushing something that you're pulling and moving it back, looking like you didn't do anything. This was "handled" by the spawn(0) procs.

Reworked cyborg recharge stations, they aren't part of the death() and Bump() procs of cyborgs and they act like lockers. Click them to open them and again to close them. Added a sprite for when it's closed with no occupant inside (it's just the closed sprite with red lights instead of a blinking green light).
 * Detective scanner can receive more detail from blood reagents.
 * Detective scanner no longer scans the reagents of mobs.
Holodeck computers will use power_change() now, who will call their emergencyShutdown() proc. This will make the holodeck shut down if the power of the area dies.
Added a check on the emergencyShutdown to see if the holodeck area is already empty.
Removed the unused togglePower() proc of the holodeck computer.
Attempting to ghost while in critical will now succumb then ghost as a courtesy to streamline the ragequit experience
The attack() of cigarette packets is now updated to the storage procs and stuff. It will pick the first object of the contents instead of creating a new cigarette and generating issues.