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.

BEISPIELE
        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 }) })

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