Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/transpose_array b/doc/efun/transpose_array
new file mode 100644
index 0000000..68e2a78
--- /dev/null
+++ b/doc/efun/transpose_array
@@ -0,0 +1,22 @@
+SYNOPSIS:
+	mixed *transpose_array (mixed *arr);
+
+DESCRIPTION:
+	transpose_array ( ({ ({1,2,3}), ({a,b,c}) }) )
+			== ({ ({1,a}), ({2,b)}, ({3,c}) }) 
+
+	transpose_array() applied to an alist results in an array of
+	({ key, data }) pairs, useful if you want to use sort_array()
+	or filter() on the alist.
+
+EXAMPLE:
+	sort_array(transpose_array( ({ m_indices(map), m_values(map) }) ),
+		   lambda( ({ 'a, 'b }),
+			   ({ #'<, ({ #'[, 'a, 0 }),
+				   ({ #'[, 'b, 0}) }) ) )
+
+	The given mapping 'map' is returned as an array of 
+	({ key,	data })  pairs, sorted by the keys.
+
+SEE ALSO:
+	alists(LPC), sort_array(E)