services/identity/server: fix shutdown race

When the shutdown sequence begins, we should first stop the ipc server before
proceeding to call the shutdown method that we got back from
v23.Init. Otherwise, the runtime shutdown may shut down the client used to talk
to the security agent before the server had a chance to unmount itself or
complete its inflight rpcs.

Change-Id: I73618338e888176e745986594ec95575806f013e
diff --git a/profiles/internal/ipc/server.go b/profiles/internal/ipc/server.go
index b1a6739..c01d712 100644
--- a/profiles/internal/ipc/server.go
+++ b/profiles/internal/ipc/server.go
@@ -876,7 +876,7 @@
 	case <-done:
 	case <-time.After(5 * time.Minute):
 		vlog.Errorf("Listener Close Error: %v", firstErr)
-		vlog.Errorf("Timedout waiting for goroutines to stop: listeners: %d", nListeners, len(s.listeners))
+		vlog.Errorf("Timedout waiting for goroutines to stop: listeners: %d (currently: %d)", nListeners, len(s.listeners))
 		for ln, _ := range s.listeners {
 			vlog.Errorf("Listener: %p", ln)
 		}