cmd/gc: reject non-Go constants

Expressions involving nil, even if they can be evaluated
at compile time, do not count as Go constants and cannot
be used in const initializers.

Fixes issue 4673.
Fixes issue 4680.

R=ken2
CC=golang-dev
https://codereview.appspot.com/7278043