be more strict for tailing commas

The following changes ensure an error is reported when a tailing comma is used on anything but on an array literal. On JavaScript allowing a tailing comma is work around problems when refactoring collection literals, however metascript actually avoids the need for commas when indenting, hence I think the best thing to do in this case is notify the programmer about it. 

Note that it also changes the way skipped values work on array literals, before `[,]` was `[undefined]` while now it will be `[undefined, undefined]` which I think makes more sense, specially imagining how it could mix with pattern matching.
Why would we  want to allow negative indexes?