Fighting the good fight.

Move libfmt, libutf into subdirectories of lib9.

Add poll-based socket i/o to libthread, so that we can
avoid using multiple procs when possible, thus removing
dependence on crappy pthreads implementations.

Convert samterm, acme to the single-proc libthread.

Bring libcomplete, acme up-to-date w.r.t. Plan 9 distribution.
diff --git a/src/lib9/wait.c b/src/lib9/wait.c
index 6dc137b..856f85c 100644
--- a/src/lib9/wait.c
+++ b/src/lib9/wait.c
@@ -1,15 +1,15 @@
 #include <u.h>
 #include <libc.h>
 
-Waitmsg*
-wait(void)
+static Waitmsg*
+_wait(int nohang)
 {
 	int n, l;
 	char buf[512], *fld[5];
 	Waitmsg *w;
 
-	n = await(buf, sizeof buf-1);
-	if(n < 0)
+	n = (nohang ? awaitnohang : await)(buf, sizeof buf-1);
+	if(n <= 0)
 		return nil;
 	buf[n] = '\0';
 	if(tokenize(buf, fld, nelem(fld)) != nelem(fld)){
@@ -29,3 +29,15 @@
 	return w;
 }
 
+Waitmsg*
+wait(void)
+{
+	return _wait(0);
+}
+
+Waitmsg*
+waitnohang(void)
+{
+	return _wait(1);
+}
+