playground: Change many uses of v23.NewServer to use xrpc.New*Server instead.

This is designed to reduce boilerplate and prove out the xrpc interface.
All but about 10 uses were replaced.

Some of the remaining calls are more complicated because the services/dispatchers
currently take the serving address as a construction parameter.

MultiPart: 8/9

Change-Id: I7cff98fa4917c25dafd6ed4514b31590ba1994e4
diff --git a/go/src/v.io/x/playground/bundles/fortune/src/server/server.go b/go/src/v.io/x/playground/bundles/fortune/src/server/server.go
index f518348..d7f1579 100644
--- a/go/src/v.io/x/playground/bundles/fortune/src/server/server.go
+++ b/go/src/v.io/x/playground/bundles/fortune/src/server/server.go
@@ -17,6 +17,7 @@
 	"v.io/x/lib/vlog"
 	"v.io/x/ref/lib/security/securityflag"
 	"v.io/x/ref/lib/signals"
+	"v.io/x/ref/lib/xrpc"
 	_ "v.io/x/ref/runtime/factories/generic"
 
 	"fortune"
@@ -62,28 +63,16 @@
 	ctx, shutdown := v23.Init()
 	defer shutdown()
 
-	// Create a new instance of the runtime's server functionality.
-	server, err := v23.NewServer(ctx)
-	if err != nil {
-		vlog.Panic("failure creating server: ", err)
-	}
-
 	// Create the fortune server stub.
 	fortuneServer := fortune.FortuneServer(newFortuned())
 
-	// Create an endpoint and begin listening.
-	if endpoint, err := server.Listen(v23.GetListenSpec(ctx)); err == nil {
-		fmt.Printf("Listening at: %v\n", endpoint)
-	} else {
-		vlog.Panic("error listening at endpoint: ", err)
+	// Create a new instance of the runtime's server functionality.
+	server, err := xrpc.NewServer(ctx, "bakery/cookie/fortune", fortuneServer, securityflag.NewAuthorizerOrDie())
+	if err != nil {
+		vlog.Panic("failure creating server: ", err)
 	}
-
-	// Start the fortune server at "fortune".
-	if err := server.Serve("bakery/cookie/fortune", fortuneServer, securityflag.NewAuthorizerOrDie()); err == nil {
-		fmt.Printf("Fortune server serving under: bakery/cookie/fortune\n")
-	} else {
-		vlog.Panic("error serving fortune server: ", err)
-	}
+	fmt.Printf("Listening at: %v\n", server.Status().Endpoints[0])
+	fmt.Printf("Fortune server serving under: bakery/cookie/fortune\n")
 
 	// Wait forever.
 	<-signals.ShutdownOnSignals(ctx)
diff --git a/go/src/v.io/x/playground/testdata/src/pong/pong.go b/go/src/v.io/x/playground/testdata/src/pong/pong.go
index 2deef80..d09a2b5 100644
--- a/go/src/v.io/x/playground/testdata/src/pong/pong.go
+++ b/go/src/v.io/x/playground/testdata/src/pong/pong.go
@@ -15,6 +15,7 @@
 	"v.io/v23/security"
 	"v.io/x/lib/vlog"
 	"v.io/x/ref/lib/signals"
+	"v.io/x/ref/lib/xrpc"
 	_ "v.io/x/ref/runtime/factories/generic"
 
 	"pingpong"
@@ -32,25 +33,14 @@
 	ctx, shutdown := v23.Init()
 	defer shutdown()
 
-	s, err := v23.NewServer(ctx)
+	serverPong := pingpong.PingPongServer(&pongd{})
+	s, err := xrpc.NewServer(ctx, "pingpong", serverPong, nil)
 	if err != nil {
 		vlog.Fatal("failure creating server: ", err)
 	}
 
-	serverPong := pingpong.PingPongServer(&pongd{})
-
-	fmt.Printf("Starting server\n")
-	if endpoint, err := s.Listen(v23.GetListenSpec(ctx)); err == nil {
-		fmt.Printf("Listening at: %v\n", endpoint)
-	} else {
-		vlog.Fatal("error listening to service: ", err)
-	}
-
-	if err := s.Serve("pingpong", serverPong, nil); err == nil {
-		fmt.Printf("Serving pingpong\n")
-	} else {
-		vlog.Fatal("error serving service: ", err)
-	}
+	fmt.Printf("Listening at: %v\n", s.Status().Endpoints[0])
+	fmt.Printf("Serving pingpong\n")
 
 	// Wait forever.
 	<-signals.ShutdownOnSignals(ctx)