AI Tracking bugfixes
Fixes #4201 by adding a cancel button to the track mob list.
Fixes a runtime that pops up if you double click the "Track Mob" or "Show Camera List" buttons on the AI hud. Problem is that double clicking runs a proc that builds the datum of lists of trackable mobs twice, and then both procs sleep because of input(). When the first track completes it nulls the tracking datum, which causes problems for the second (or more) tracks which expect the tracking datum to not be null. Solution: Keep the datum around and simply rebuild the lists as-needed instead of creating and deleting the tracking datum datum pointlessly.
Merge branch 'master' of https://github.com/tgstation/-tg-station into track_bugs

Conflicts:
	code/modules/mob/living/silicon/ai/ai.dm
Giacom's suggestions, plus removing more pointless checks.

You can now type track foo as an AI and it'll track foo or expand into a full listing if ambiguity exists. It's not track-with-camera, just track.
Merge pull request #4203 from MrPerson/track_bugs

AI Tracking bugfixes