Make Vitess context types conform to the go.net/context API.

Using this common API will hopefully allow integration with other
projects both internally and externally.
Add generic-context accessors.

Create a helper-module callinfo for pulling call-related information out
of contexts, an rpcwrap instantiation of this logic, and some rpcwrap
helpers to pull rpcwrap info out of contexts.
Make proto.Context members private.

This means there is no reason to directly use this type, in stead a
context.Context interface should be used.

Conflicts:
	go/vt/tabletmanager/gorpctmserver/gorpc_server.go
	go/vt/tabletmanager/rpc_server.go
Reduce vtcontext to gcontext.

The usecases of the extra methods are now provided by callinfo.

Conflicts:
	go/vt/tabletserver/query_engine.go
	go/vt/tabletserver/query_list.go
Remove non-context methods from proto.Context API.
Make proto.Context private and consolidate on context.Context.

Used some context.TODO calls for rpcplus calls that don't take a
context. Still deciding what to do with those.

Conflicts:
	go/rpcwrap/rpcwrap.go
	go/vt/tabletmanager/gorpctmserver/gorpc_server.go
	go/vt/tabletserver/gorpcqueryservice/sqlquery.go
	go/vt/topo/toporeader.go
	go/vt/vtgate/gorpcvtgateservice/server.go
Eliminate vtcontext.Context.

Everything should use go.net Context now.
Remove methods on DummyContext not required by go.net Context.
Merge pull request #147 from plobsing/context2-electric-boogaloo

Use go.net context.Context