go/doc, godoc: fix range of type declarations
go/doc, godoc: fix range of type declarations

For grouped type declarations, go/doc introduces
fake individual declarations. Don't use the original
location of the "type" keyword because it will lead
to an overly large source code range for that fake
declaration, and thus an overly large selection shown
via godoc (e.g.: click on the AssignStmt link for:
http://golang.org/pkg/go/ast/#AssignStmt ).

Also: Don't create a fake declaration if not needed.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/5694061

tav/go,tav/go,tav/go,tav/go,tav/go,tav/go,tav/go