SYNOPSIS
        int find_call_out(string fun)
        int find_call_out(closur cl)

BESCHREIBUNG
        Findet den ersten call_out() auf die Funktion fun im aktuellen Objekt
        (bzw. auf die Closure cl) der ausgefuehrt werden soll. Zurueck gegeben
        wird die verbleibende Zeit bis zum Aufruf. Wenn kein call_out()
        anhaengig ist, wird -1 zurueck gegeben.

FEHLER
        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));

GESCHICHTE
        Die Suche nach call_out()s auf Closures wurde in 3.2.1@45 eingefuehrt.

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