Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/write b/doc/efun/write
new file mode 100644
index 0000000..a3041b0
--- /dev/null
+++ b/doc/efun/write
@@ -0,0 +1,37 @@
+SYNOPSIS:
+        void write(mixed msg)
+
+DESCRIPTION:
+        Write out something to the current player. What exactly will
+        be printed in the end depends of the type of msg.
+        Please mind: if there is no current player (this_player()), the
+        function will output directly to the driver debug log. Please check
+        before!
+        
+        If it is a string or a number then just prints it out.
+        
+        If it is an object then the object will be printed in the
+        form: "OBJ("+object_name((object)mix)+")"
+        
+        If it is an array just "<ARRAY>" will be printed.
+        
+        If the write() function is invoked by a command of an living
+        but not interactive object and the given argument is a string
+        then the lfun catch_tell() of the living will be invoked with
+        the message as argument.
+
+EXAMPLES:
+        write("Hello world!\n");
+        
+        Just print out a string.
+        
+        write(this_player());
+        
+        This will print out something like "OBJ(std/player#1234)".
+        
+        write( ({ "blub" }) );
+        
+        Will print out "<ARRAY>".
+        
+SEE ALSO:
+        say(E), tell_object(E), tell_room(E), shout(E), catch_tell(L)