RemoveExit()
FUNKTION:
     void RemoveExit(string|string* cmd);

DEFINIERT IN:
     /std/room/exits

ARGUMENTE:
     string/string* cmd
          Richtung(en), die entfernt werden sollen.

BESCHREIBUNG:
     Die in cmd angegebenen Ausgaenge werden wieder entfernt.

     Ist cmd = 0, so werden alle Ausgaenge entfernt.

BEMERKUNGEN:
     Ausgaenge werden an der gleichen Stelle gespeichert:
     - RemoveExit() greift auf die gleichen Daten wie RemoveSpecialExit()
       zu, entfernt also auch spezielle Ausgaenge!

SIEHE AUCH:
     AddExit(), AddSpecialExit(), GetExits()
     RemoveSpecialExit(),
     H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
     ausgaenge

31.01.2015, Zesstra
