Use build.Context instead of gocode_env.

I'm not totally sure why the client is sending the env back to the server every time. Is it just to detect when GOPATH/GOROOT change?

I left a TODO to get rid of the DeepEqual used to compare existing and new context, let me know if it's safe to drop it in favour of just checking GOPATH/GOROOT perhaps.

Thanks!