Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/AddTouchDetail b/doc/lfun/AddTouchDetail
new file mode 100644
index 0000000..413e3ca
--- /dev/null
+++ b/doc/lfun/AddTouchDetail
@@ -0,0 +1,71 @@
+AddTouchDetail()
+
+FUNKTION:
+    void AddTouchDetail(string|string* keys,
+                        string|string*|mapping|closure desc);
+
+DEFINIERT IN:
+    /std/thing/description.c
+
+ARGUMENTE:
+    keys
+     String oder Array von Strings mit den Namen der Details.
+    desc
+     String, Mapping, String-Array oder Closure mit/zur Beschreibung.
+
+BESCHREIBUNG:
+    Diese Funktion entspricht dem AddDetail() fuer Standarddetails, nur
+    koennen hiermit (ab)tastbare bzw. fuehlbare Details realisiert werden:
+    Die Beschreibung der Details <keys> wird gesetzt. Wie die Details
+    beim (Ab)Tasten aussehen, haengt im wesentlichen vom Typ der
+    Beschreibung <desc> ab:
+     <desc> ist ein String.
+       Beim Untersuchen wird dieser String zurueckgegeben.
+      <desc> ist ein String-Array.
+        Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
+     <desc> ist ein Mapping.
+       Das Mapping muss folgenden Aufbau haben:
+         ([0:        "Defaulttext",
+           "rasse1": "r1text", ...]).
+
+       Falls fuer die Rasse des das Detail untersuchenden Spielers ein
+       Eintrag im Mapping existiert, wird der entsprechende Text
+       zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
+       rassenabhaengige Details moeglich. Siehe auch die Beispiele.
+     <desc> ist eine Closure.
+       In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
+       zurueckgegeben. Die Closure bekommt dabei den Namen des Details
+       als Parameter uebergeben.
+
+    Fuer fuehlbare Details koennen Forscherpunkte eingetragen werden.
+
+    Fuehlbare Details koennen allgemein einen Raum oder Objekt zugeordnet
+    werden: dafuer muss man als <key> SENSE_DEFAULT uebergeben.
+
+    Spielerkommandos: "taste"
+
+BEISPIELE:
+    Ein kleines Beispiel fuer rassenabhaengige, fuehlbare Details mit Closures:
+      string strafe(string key);
+      ...
+      AddTouchDetail(SENSE_DEFAULT, "Du fuehlst einige Knollen\n");
+      AddTouchDetail(({"knollen"}),
+                     ([0:       "Sie fuehlen sich an wie Knoblauchknollen. "
+                                "Riech doch mal daran.\n",
+                       "vampir": #'strafe]));
+
+      string strafe(string key) {
+        this_player()->reduce_hit_points(100);
+        return "Au! Das waren ja Knoblauchknollen!\n";
+      }
+
+SIEHE AUCH:
+    Setzen:    AddDetail(), AddReadDetail(), AddSmells(), AddSounds()
+    Loeschen:  RemoveDetail(), RemoveReadDetail(), RemoveSmells(),
+               RemoveSounds(), RemoveTouchDetail()
+    Daten:     P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS, P_TOUCH_DETAILS
+    Veraltet:  AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
+    Sonstiges: GetDetail(), break_string()
+
+20.01.2015, Zesstra
+