NanoUI Optimizations.

We won't regenerate the list for Manifests every tick while viewing the manifest, instead we have a global variable for it PDA_Manifest that we Cut() if there is a change to the manifest then when the next player goes to view the manifest on their PDA it will recreate the list that one time.

Some sections of the PDA will no longer auto-refresh every tick because...well that's dumb.

Modes that will no longer autoupdate at all:  Viewing medical/sec records, viewing notes (will update when you change them of course), and the station alert menu.
Modes that will only autoupdate every 5 ticks:  APC list (Because it's a huge fuck off list), the manifest, mulebots and secbots screens, supply requests/orders, and janitor supply locator)

Some other things that I just can't remember right now.
Fix for a server-crashing issue in libnudge.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
APC overlay bugfix.

Before: If you turned off the breaker and fiddled with on/off states and turned on the breaker it wouldn't update the overlay because the check_updates wasn't doing an if(operating) check and would think it didn't need to update the overlays once you turned on the breaker.

After: Check_update() is doing a check for the breaker being on or off and taking that into account with the update_overlay flags and will update the overlays properly.

Thanks Razharas from /tg/ #coderbus for bringing this to my attention.
fuck
Non-whitelisted IPCS

Had to do a hacky fix. there was no real way around it.
Also, a couple balances with IPCs
And a totally silly death animation (Which has been commented out for now)
Merge pull request #4533 from DJSnapshot/hotfix

Non-whitelisted IPCS. The real fix this time.
Merge pull request #4525 from Ccomp5950/pda_nano

PDA NanoUI Optimizations.
Merge pull request #4532 from Ccomp5950/apc_breaker

APC overlay bugfix.
Fix for apostrophes in IRC nudge.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Fixes for slime surgery runtime

don't know why this works but it does and doesn't break other surgeries from what i can tell
Fixes for slime surgery runtime

don't know why the slime is coming though even though the target is supposed to be human...
Fix for O2 wall lockers breaking

Fixes #4538
also found when you tried to weld it it would break the sprite also
made the toggle verb just call the attack_hand proc to remove some items from the locker.
Merge pull request #4535 from Mloc/bs12-'

Fix for apostrophes in IRC nudge.
Merge pull request #4531 from Mloc/bs12-libnudge

Fix for a server-crashing issue in libnudge.
Fix for #4542
Now synthetics do not contract viruses
Debug Options:  Gives us an idea of what mobs are taking so long to process

Adds an "Expensive Mobs" list that shows what mobs took more then 1 decisecond to process.

This way if mob controller is going nuts we can debug master controller and see why, or atleast see which mob it is.
Merge pull request #4543 from comma/master

Fix for #4542
Merge pull request #4544 from Ccomp5950/mob_debug

Debug Options:  Gives us an idea of what mobs are taking so long to proc...
Multiple map fixes

Fixes #4507
Fixes #4508
Fixes #4540
Airlock sensor optimization

Airlock sensors will now store the previous cycles pressure value, then compare it with the current pressure next time it runs.
If the pressure hasn't changed it will skip sending a status update.