[WIP/Do not merge] Adds the Bot call ability!

Grants the AI the ability to call bots!
Adds a sleep(5) and fixes access

The Access on a bot was previously deleted entirely when it completed a
call from the AI. The bot now retains its original access.

Also adds a small delay so that bots animate properly upon moving,
instead of appearing to teleport.

The "Call" button will lose its call link instead of disappearing
completely.
Tweaking!

- Links the AI to the bot so it knows when the bot reaches a destination
or gives up.
- Fiddled with the AI's call stuff so it can support re-directing bots.
Further improvements!

- The Bot panel's status indicator now includes what the bot is doing
(Healing, responding to a call, arresting, etc)
- Cleans out most of the debug reports.
- Manually emagged bots can no longer be controlled though the bot
interface. Destroying or EMPing them remain the only way to stop them.
- *Hacked* bots can still be freely controlled, however.
- Calling a bot now turns it on, to save the AI the hassle of having to
do so from the interface.
- Corrected the distance-to-target calculation.
-Cleaned up some of the code here and there.
Even more tweaks!

Manually emagged bots now do not show up on the bot panel *at all*!
Bots hacked by silicons have a "(!)" before the name.
Fix to stop carded AIs trying to use Botcall

Since a carded AI returns location data of 0,0,0, Botcall is disabled
entirely for it.
Further improvements!

AIs can now detect bots again while in a container! (Carded, on a MULE,
in an APC)

Made a tweak so paths are not duplicated in the bot's variables.

MULEs are working again! (MULE hacking to come in another PR)

Brought the ED-209 up to date.

Made the bot menu text stop generated the weird y character in names.
Complying to Standards!

- Standardizes bot status names. Secbot defines added to main file.
- Hunted down and destroyed a LOT of unneeded uses of ".src"
- Cleaned up some list declarations.
Botcall now respects camera ranges.

The AI can only send a bot to a place it can see.
The AI will always be able to control bots in its own immediate view.
Fixes a spelling error.
Various tweaks

Made the click-to-set waypoint its own proc, renamed "B" to "Bot" to
indicate its purpose. Removed "path" from the move_to_call() proc as it
uses "call_path" which does not need to be passed.
Access fixes and set AI call range to 150

I somehow broke access for trying to unlock certain bots. This sets it
to req_one_access so anyone with the appropriate access on their ID will
have access to the bot.

The AI's max A-star range is now set to 150 so bots can reach most areas
in the station without it being insane.
Patrol code overhaul + tweaks

Lots of changes in this one! First off, medibots and floorbots can now
be commanded to patrol. Access to the bot's settings is required to make
it patrol.

Patrol and summon code is centralized such that patrolling and summoning
can be given to all simple bots (anything that is not a MULE).

The AI can read the status of MULEs through its interface.

ED-209 can now be summoned by PDA as Securitrons can!
Floorbot and summoning tweaks!

- One step closer to controlling all bots by PDA!
- Floorbots improved! Floorbots can be configured to repair burn or
broken tiles, and improve tiles function will place tiles on floors
without them.
- Bots summoned by PDA can download the access of an ID stored on the
card inside
- SPAN CLASSES FOR FLOORBOTS! Also the messages are changed from red to
blue, as repairing the station is a good thing.
Bot Summoning + Tweaks!

- Medibots, Cleanbots, and Floorbots may all be summoned via PDA!
- Gave absolute paths to a few lines in PDA code.
- Bots now support downloading access from the user's PDA in order to
allow them to enter ID locked areas.
- Tons of little tweaks.
Bot control toggle + tweaks

- A bot can now be hidden from the AI's control panel by any authorized
human.  Manually emagging the bot will still disable remote AI control
regardless of the setting.

- The bot control panel now has a refresh button.

- Bugfix for emagging cleanbots. They now require being unlocked and
having an open panel as the others do.
Conflict resolution

Attempts to resolve merge conflicts!
Runtime and bugfixes. Also SPANS!

- Prevented bots trying to join a radio controller if none exists.
- Security bots were becoming trapped in an arrest loop if the perp
moved away while the bot attempted arrest.
- SPAN CLASSES
More tweaks and fixes!

-Summoning code is now its own proc set to address harmony issues with
the patrol code.
- Bots may now only open airlocks and windoors. They were previously
able to open doors that should be impossible for them to open, such as
shutters and blast doors.

- Fixed the span class texts I made earlier. Whoops!
RUNTIME PREVENTION + tiny tweak

- Fixed runtimes that could occur in rare situations.
- Corrected a mistake in bot Bump code.
- Cleanbots report when they are trying to go somewhere.
MULE fixes!

- Set the "Stop" Commands for a MULE to reset its access to stop them
having all-access due to an AI's call.

- MULEs no longer attempt to unload their own ID cards!

- MULES that have been called by the AI will now attempt to load crates
in their direction of travel, after reaching their waypoint.