SYNOPSIS
        mixed deep_copy(mixed arg);

BESCHREIBUNG
        Erzeugt eine echte Kopie von <arg> und liefert diese zurueck. Fuer
        Arrays und Mappings bedeutet dies, dass ein neues Array oder Mapping
        erzeugt wird, das exakte Kopien der Eintraege des Originals enthaelt.
        Eingebettete Arrays und Mappings werden ebenso echt kopiert.

        Fuer andere Typen als Mappings und Arrays bewirkt diese Funktion
        nichts.

        Wenn im Driver DYNAMIC_COST definiert ist, zaehlt jedes eingebettete
        Mapping oder Array zu den Evaluationskosten sowohl in der Groesse als
        auch in der Einbettungstiefe.

BEISPIEL
        mixed *a, *b;
        a = ({ 1, ({ 21, 22 }) });
        b = deep_copy(a);
        a[0] = -1; a[1][0] = -21;
         --> a ist jetzt   ({ -1, ({ -21, 22 }) })
             b bleibt      ({  1, ({  21, 22 }) })

AENDERUNGEN
        Eingefuehrt in LDMud 3.2.6.
        LDMud 3.2.9 fuegte die dynamischen Kosten zur Efun hinzu.
