cmd/gc: check for array bounds overflow in slice expression
cmd/gc: check for array bounds overflow in slice expression

The test for this is test/index.go, which is not run by
default.  That test does not currently pass even after this is
applied, due to issue 4348.

Fixes issue 4344.

R=golang-dev, daniel.morsing, rsc
CC=golang-dev
http://codereview.appspot.com/6815085

pombredanne/go-deleteme,tv42/old-go,pombredanne/go-deleteme,tv42/old-go,tv42/old-go,gnanderson/go,dsriram/golang,apparentlymart/golang,dsriram/golang,dsriram/golang,gnanderson/go,apparentlymart/golang,gnanderson/go,dsriram/golang,pombredanne/go-deleteme,pombredanne/go-deleteme,dsriram/golang,pombredanne/go-deleteme,dsriram/golang,tv42/old-go,dsriram/golang,pombredanne/go-deleteme,pombredanne/go-deleteme,gnanderson/go,gnanderson/go,tv42/old-go,apparentlymart/golang,apparentlymart/golang,gnanderson/go,tv42/old-go,gnanderson/go,tv42/old-go,apparentlymart/golang,apparentlymart/golang,apparentlymart/golang