[release-branch.r58] reflect: disallow Interface method on Value obtained via unexported name

Also remove exp/datafmt that depends on the broken reflect behavior.

««« CL 5267049 / eeca0d4a91a3
reflect: disallow Interface method on Value obtained via unexported name

Had been allowing it for use by fmt, but it is too hard to lock down.
Fix other packages not to depend on it.

R=r, r
CC=golang-dev
https://golang.org/cl/5266054
»»»

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5297042
11 files changed