cgo: disallow use of C.errno

It's incorrect, and it causes cryptic linker errors.

Fixes #1360.

R=r, r2
CC=golang-dev
https://golang.org/cl/3880041
diff --git a/src/cmd/cgo/ast.go b/src/cmd/cgo/ast.go
index 7c64a5d..8689ac3 100644
--- a/src/cmd/cgo/ast.go
+++ b/src/cmd/cgo/ast.go
@@ -141,6 +141,10 @@
 				context = "expr"
 			}
 			goname := sel.Sel.Name
+			if goname == "errno" {
+				error(sel.Pos(), "cannot refer to errno directly; see documentation")
+				return
+			}
 			name := f.Name[goname]
 			if name == nil {
 				name = &Name{