cmd/vet: use types to test Error methods correctly.
We need go/types to discriminate the Error method from
the error interface and the Error method of the testing package.
Fixes issue 4753.

R=golang-dev, bradfitz, gri
CC=golang-dev
https://codereview.appspot.com/7396054