Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/lupe.doc b/obj/tools/lupe.doc
new file mode 100644
index 0000000..cf3946f
--- /dev/null
+++ b/obj/tools/lupe.doc
@@ -0,0 +1,140 @@
+The lens object uses a stack to manipulate objects. Some commands push objects
+on the stack, some pop them again off the stack and use them for various
+purposes. There may be multiple commands on a single line, separated by
+spaces. The number of spaces between commands or between commands and
+arguments is not critical, i.e. there may also be two or more spaces.
+
+Notation:
+	<arg>	: a sequence of characters which doesn't contain spaces or
+		  dots. If it does, use "...", '...' or |...| to enclose
+		  it.
+	<number>: an integer, positive or negative.
+	<filename>: same as <arg> (use quotes if it contains dots). May be
+		  absolute (starting with /) relative to your home directory
+		  (starting with ~/) or relative to somebody else's home
+		  directory (starting with ~name/).
+	<function>: Name of an LPC-function.
+
+Commands:
+	pl <arg>	: push player object with name <arg>.
+	lv <arg>	: push living object with name <arg>.
+	me		: push yourself.
+	here		: push the location you are in.
+	ob <filename>	: load & push the object denoted by <filename>.
+	<filename>	: same as ob <filename> if it begins with / or ~.
+	new <filename>	: clone & push the object denoted by <filename>.
+			  Thereafter move it in your inventory.
+        creat <filename>: same as new, but don't move it into your inventory.
+	env		: push the environment of the TOS.
+	.<number>	: push the nth object in the inventory of the TOS.
+	.<arg>		: push the object with id <arg> in the inventory
+			  of the TOS.
+	=		: display the TOS.
+	info		: show detailed information about the TOS.
+	stk		: show the entire stack.
+	clr		: clear the entire stack.
+	dup		: duplicate the topmost stack entry.
+	pop		: discard the topmost stack entry.
+	swap		: exchange the two topmost stack entries.
+	over		: push the entry second from top.
+	@<number>	: push the stack entry corresponding to the number.
+			  The topmost one has number 0.
+	inv		: show the inventory of the TOS.
+	cln		: clean the inventory of the TOS. Players are not
+			  destructed.
+	clnof <arg>	: clean the inventory of the TOS of all objects with
+			  id <arg>.
+	rec		: perform the next inv, cln or clnof recursively.
+	norec		: use this to turn of rec again if you are not going
+			  to use one of inv, cln or clnof. inv, cln and clnof
+			  turn off rec automatically after being used.
+	dest		: destruct the TOS.
+	make		: destruct the TOS, then rebuild it from the file.
+			  Very useful when developing rooms.
+	mov		: move the object denoted by the stack entry that is
+			  second from top into the TOS.
+	[<function>]	: call <function> in the TOS.
+	[<function> <arg1> ... <argn>]
+			: call <function> in the TOS. arguments are separated
+			  by spaces. If the arguments themselves contain
+			  spaces, enclose them by "...", '...' or |...|.
+			  Use @<number> to supply objects on the stack
+			  as arguments.
+	result		: push the result of the function call if it is
+			  an object.
+	desc		: toggle whether short descriptions are shown when
+			  displaying objects.
+	#		: the contents of the stack will be restored after
+			  performing the next command on the same line.
+			  Since all commands which manipulate stack objects
+			  except inv and = pop them, this might come in handy.
+	<<number>	: used to push variable <number>. May range from
+			  0 to 9.
+	><number>	: store the TOS in variable <number>.
+	vars		: display all variables.
+
+The following two commands can only be used as the first command on a line.
+
+	?		: there are two usages for the ?-command. Followed
+			  by text it will execute the commands in it.
+			  Simply hitting ?<CR> will put you in interactive
+			  mode. Leave this mode by typing .<CR>. Lines
+			  typed in will be executed by the lens and the
+			  stack shown afterwards.
+
+	grant		: Two forms are possible:
+			  'grant access to <name>' allows the player with
+			  name <name> to use the lens.
+			  'grant no access' denies the access to all players
+			  below level 21.
+
+Examples:
+	me /room/church mo
+		: go to the church.
+	pl demos ob ~demos/workroom mo
+		: move the player demos to his workroom.
+	here make
+		: update and load the room you are in, keeping the inventory
+		  untouched.
+	here dup rec cln make
+		: same, this time cleaning up before.
+	me.bag inv
+		: show the contents of the bag you have.
+	me."bag 2" inv
+		: same for the second bag.
+	me [short]
+		: shows your short description.
+	me [query_attack] result [stop_fight]
+		: pacify your opponent.
+	pl demos [attacked_by @0]
+		: make Demos attack himself.
+	lv troll pl demos [attacked_by @1]
+		: demos is attacked by a troll.
+	here.troll here.demos [attacked_by @1]
+		: same effect if they're both here.
+	new /obj/level_list
+		: get yourself a copy of the top ten list.
+	pl ereborn clnof flea
+		: help poor ereborn to get rid of those fleas.
+	pl demos env [long]
+		: show the room where demos is.
+	here rec inv pop
+		: show the inventory of your current location and clean
+		  up the stack afterwards.
+	me #[set_str 20] #[set_dex 20] #[set_int 20] #[set_con 20]
+		: set all your stats to the maximum possible value.
+	me [set_title "the new wizard"]
+		: changes your title accordingly.
+	pl demos env >4
+		: store the room Demos is in in variable 4.
+	<4 [query_dest_dir]
+		: get it again and list the possible exits.
+	me rec inv .4 inv
+		: get a recursive listing of yourself, then a non-recursive
+		  one of the 4th item in your inventory
+	me.4.1 info
+		: show some information of the first item within the fourth
+		  item in your inventory.
+		  Please note that when doing a rec inv all the necessary
+		  information to find any object is displayed in front
+		  of it.