spec: be more precise about underlying types of predeclared types
spec: be more precise about underlying types of predeclared types

The underlying type of the predeclared type error is not itself,
but the interface it is defined as.

Fixes issue 7444.

LGTM=r, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://codereview.appspot.com/71790044

rdp/rogerpack2005-golang,webfd/go-zh,webfd/go-zh,webfd/go-zh,d0f/go-zh,sanjosh/sanjos100-tipc,bryanxu/go-zh,webfd/go-zh,sanjosh/sanjos100-tipc,d0f/go-zh,rdp/rogerpack2005-golang,d0f/go-zh,rdp/rogerpack2005-golang,d0f/go-zh,bryanxu/go-zh,d0f/go-zh,sanjosh/sanjos100-tipc,rdp/rogerpack2005-golang,webfd/go-zh,bryanxu/go-zh,rdp/rogerpack2005-golang,bryanxu/go-zh,webfd/go-zh,sanjosh/sanjos100-tipc,rdp/rogerpack2005-golang,bryanxu/go-zh,d0f/go-zh,webfd/go-zh,sanjosh/sanjos100-tipc,bryanxu/go-zh,webfd/go-zh,rdp/rogerpack2005-golang,sanjosh/sanjos100-tipc,rdp/rogerpack2005-golang,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,bryanxu/go-zh,bryanxu/go-zh,d0f/go-zh,d0f/go-zh