Reimplement the ability to override engine commands with QC commands
This was working in div0-stable and was removed in
46acef5491629d06eddb8e78ed01e50b175d2bd8
Due to previous improvements by LH & Cloudwalk, the behaviour is now better:
the new QC command appears in the console in addition to the engine one,
the new command takes priority and what's going on is clearer.
When the CSQC VM shuts down, the registered command is removed.
Also this time we can has documentation.
Signed-off-by: bones_was_here <bones_was_here@xonotic.au>