chat: Move context.T out of rpc.ServerCall.

The purpose of this change is to make our usage of context.T more
consistent; it was a bit lame that we gave guidance to never wrap
context.T in another type, but were doing it ourselves.  The JS
code is also being changed to follow this convention (in separate
CLs), so we'll be consistent between Go and JS as well.

The server implementation used to look like this:
func (*impl) Foo(call rpc.ServerCall, ...)

Now it looks like this:
func (*impl) Foo(ctx *context.T, call rpc.ServerCall, ...)

Also added a ServerCall.Security() function, which returns the
security.Call.  The security.Call is still embedded inside
context.T for now; a subsequent change will remove it from
context.T and add an explicit security.Call argument where
necessary.  That's a separate CL since some of the choices may be
more controversial, and it's a smaller set of changes.

Change-Id: If06a17689393b5d71fe98dade67bbcc44cbf78c0
MultiPart: 5/8
diff --git a/clients/shell/go/src/v.io/x/chat/channel.go b/clients/shell/go/src/v.io/x/chat/channel.go
index caa3abe..571a9fb 100644
--- a/clients/shell/go/src/v.io/x/chat/channel.go
+++ b/clients/shell/go/src/v.io/x/chat/channel.go
@@ -67,8 +67,8 @@
 }
 
 // SendMessage is called by clients to send a message to the server.
-func (cs *chatServerMethods) SendMessage(call rpc.ServerCall, IncomingMessage string) error {
-	remoteb, _ := security.RemoteBlessingNames(call.Context())
+func (cs *chatServerMethods) SendMessage(ctx *context.T, _ rpc.ServerCall, IncomingMessage string) error {
+	remoteb, _ := security.RemoteBlessingNames(ctx)
 	cs.messages <- message{
 		SenderName: firstShortName(remoteb),
 		Text:       IncomingMessage,
diff --git a/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go b/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
index b40d90c..8f80e1b 100644
--- a/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
+++ b/clients/shell/go/src/v.io/x/chat/vdl/chat.vdl.go
@@ -45,7 +45,7 @@
 // implements for Chat.
 type ChatServerMethods interface {
 	// SendMessage sends a message to a user.
-	SendMessage(call rpc.ServerCall, text string) error
+	SendMessage(ctx *context.T, call rpc.ServerCall, text string) error
 }
 
 // ChatServerStubMethods is the server interface containing
@@ -83,8 +83,8 @@
 	gs   *rpc.GlobState
 }
 
-func (s implChatServerStub) SendMessage(call rpc.ServerCall, i0 string) error {
-	return s.impl.SendMessage(call, i0)
+func (s implChatServerStub) SendMessage(ctx *context.T, call rpc.ServerCall, i0 string) error {
+	return s.impl.SendMessage(ctx, call, i0)
 }
 
 func (s implChatServerStub) Globber() *rpc.GlobState {