Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/apply b/doc/efun/apply
new file mode 100644
index 0000000..aaa30a5
--- /dev/null
+++ b/doc/efun/apply
@@ -0,0 +1,35 @@
+SYNOPSIS
+        mixed apply(closure cl, mixed arg, ...);
+
+BESCHREIBUNG
+        Wertet die Closure <cl> aus. Wenn <cl> keine Closure ist, wird <cl>
+        unveraendert zurueck geliefert und alle Argumente <arg> werden
+        ignoriert.
+
+        Es gibt einen kleinen Unterschied zu funcall(), das ja im Wesentlichen
+        das gleiche tut (naemlich, eine Closure auswerten): wenn das letzte
+        Argument von apply() ein Array ist, wird jedes Element dieses Arrays
+        zu einem separaten zusaetzlichen Parameter der Closure umgewandelt.
+
+        Eine moegliche Anwendung waere:
+            mixed eval(object ob,string func,mixed *args)
+            {
+                return apply(#'call_other,ob,func,args);
+            }
+
+        Das fuehrt zu folgenden Aufrufen:
+            ob->func(args[0],args[1],...,args[sizeof(args)-1])
+
+        Waere stattdessen funcall() aufgerufen worden, so haette das ergeben:
+            ob->func(args)
+
+        Eine wichtige Anwendung von apply() ist das Auswerten des
+        Array-Arguments in "varargs" Funktionen.
+
+AENDERUNGEN
+        Eingefuehrt in 3.2@70.
+        LDMud 3.2.8 fuehrte ein, dass das erste Argument zurueck gegeben wird,
+            wenn es sich nicht um eine Closure handelt.
+
+SIEHE AUCH
+        funcall(E), closures(LPC), varargs(LPC)