x/ref/lib/testutil tidy up: step 1

- step 1: split testutil into lib/testutil and lib/testutil/testutil
  The subpackage contain the misc utility functions, lib/testutil
  just contains initialization code. See step 2.
- step 2: renaming ref/lib/testutil to ref/test and add documentation
  for all of the sub dirs. The idea to is make it easier to discover
  all of the packages related and useful for tests.
- step 3: move ref/lib/modules to ref/test/modules.
- step 4: tbd, but I suspect there is an opportunity for further
  tidying up all of the packages under test.

MultiPart: 1/2
Change-Id: Ic9abd603ec5c7a2d14d4e0fc11ce20593265af10
diff --git a/lib/testutil/v23tests/v23tests_test.go b/lib/testutil/v23tests/v23tests_test.go
index b253ad9..448b51f 100644
--- a/lib/testutil/v23tests/v23tests_test.go
+++ b/lib/testutil/v23tests/v23tests_test.go
@@ -17,7 +17,8 @@
 	"v.io/x/lib/vlog"
 
 	"v.io/x/ref/lib/modules"
-	"v.io/x/ref/lib/testutil"
+	test "v.io/x/ref/lib/testutil"
+	"v.io/x/ref/lib/testutil/testutil"
 	"v.io/x/ref/lib/testutil/v23tests"
 	_ "v.io/x/ref/profiles"
 )
@@ -105,7 +106,7 @@
 }
 
 func init() {
-	testutil.Init()
+	test.Init()
 	modules.RegisterChild("RunIntegrationTestInChild", "", RunIntegrationTestInChild)
 }
 
@@ -278,7 +279,7 @@
 		msg := recover().(string)
 		// this, and the tests below are intended to ensure that line #s
 		// are captured and reported correctly.
-		if got, want := msg, "v23tests_test.go:288"; !strings.Contains(got, want) {
+		if got, want := msg, "v23tests_test.go:289"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 		if got, want := msg, "fork/exec /bin/echox: no such file or directory"; !strings.Contains(got, want) {
@@ -300,7 +301,7 @@
 	sh.SetDefaultStartOpts(opts)
 	defer func() {
 		msg := recover().(string)
-		if got, want := msg, "v23tests_test.go:310"; !strings.Contains(got, want) {
+		if got, want := msg, "v23tests_test.go:311"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 		if got, want := msg, "StartWithOpts"; !strings.Contains(got, want) {
@@ -324,7 +325,7 @@
 		if iterations == 0 {
 			t.Fatalf("our sleeper didn't get to run")
 		}
-		if got, want := recover().(string), "v23tests_test.go:331: timed out"; !strings.Contains(got, want) {
+		if got, want := recover().(string), "v23tests_test.go:332: timed out"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 	}()
@@ -346,7 +347,7 @@
 		if iterations != 0 {
 			t.Fatalf("our sleeper got to run")
 		}
-		if got, want := recover().(string), "v23tests_test.go:353: timed out"; !strings.Contains(got, want) {
+		if got, want := recover().(string), "v23tests_test.go:354: timed out"; !strings.Contains(got, want) {
 			t.Fatalf("%q does not contain %q", got, want)
 		}
 	}()