encoding/json: properly handle extra objects with fixed size arrays

If a fixed size array is passed in as the decode target and the JSON
to decode has extra array elements that are objects, then previously
the decoder would return a "data changing underfoot" error.

Fixes issue 3717.

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

Committer: Russ Cox <rsc@golang.org>