spec: remove special int rule for shifts

The rule is not concistently followed by gc.
It appears that gccgo is ignoring it. go/types
does not implement this rule. However, both
gccgo and now go/types can compile/type-check
the entire std library (and thus all the shift
expressions occuring in it) w/o errors. For
more details see the discussion in issue 4883.

Fixes issue 4880.
Fixes issue 4881.
Fixes issue 4883.

R=rsc, r, iant, ken, ken, mtj, rogpeppe
CC=golang-dev
https://codereview.appspot.com/7707043