FUNKTION:
        int find_call_out(string func)
        int find_call_out(closure cl)

BESCHREIBUNG:
        Findet den ersten call_out() auf die Funktion 'func' im aktuellen Objekt
        (bzw. auf die Closure 'cl') der ausgefuehrt werden soll.
        Zurueck gegeben wird die verbleibende Zeit bis zum Aufruf in Sekunden.
        Wenn kein call_out() gefunden wird, wird -1 zurueck gegeben.

BEISPIELE:
        // Findet sich kein call_out auf die Funktion 'func', so kann er
        // gestartet werden. (Wichtig falls der call_out nicht mehrfach
        // aufgerufen werden soll).
 
        if(find_call_out("func")==-1)
          call_out("func",5);

        // Die Suche nach call_out()s auf Closures funktioniert nur, wenn der
        // genaue Wert der Closure gesucht wird.

        // Das funktioniert:
            closure cl = symbol_function("main", obj);
            call_out(cl, 2);
            find_call_out(cl);

        // Das funktioniert nicht:
            call_out(symbol_function("main", obj), 2);
            find_call_out(symbol_function("main", obj));

        Ein Codebeispiel, um alle call_out()s auf eine Funktion zu entfernen,
        findet sich in der Manpage zu remove_call_out().

SIEHE AUCH:
        call_out(E), remove_call_out(E), call_out_info(E)

25.08.2016, Arathorn
