cmd/5l: reestablish uniform union field naming

R=golang-dev, minux.ma
CC=golang-dev
https://codereview.appspot.com/7226063
encoding/json: properly unmarshal empty arrays.

The JSON unmarshaller failed to allocate an array when there
are no values for the input causing the `[]` unmarshalled
to []interface{} to generate []interface{}(nil) rather than
[]interface{}{}. This wasn't caught in the tests because Decode()
works correctly and because jsonBig never generated zero-sized
arrays. The modification to scanner_test.go quickly triggers
the error:

without the change to decoder.go, but with the change to scanner_test.go:

$ go test
--- FAIL: TestUnmarshalMarshal (0.10 seconds)
decode_test.go:446:		Marshal jsonBig
scanner_test.go:206:	diverge at 70: ?03c1OL6$":null},{"[=? vs ?03c1OL6$":[]},{"[=^\?
FAIL
exit status 1
FAIL	encoding/json	0.266s

Also added a simple regression to decode_test.go.

R=adg, dave, rsc
CC=golang-dev
https://codereview.appspot.com/7196050

Committer: Russ Cox <rsc@golang.org>