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.
I guess it's a python thing, I'm used to reference the last element in a list using `[-1]`, so in a tuple expression for instance, if I want to access the last element I can do `tuple.at(-1)` instead of `tuple.at(tuple.count - 1)`.

Anyway, I didn't use this change in the final solution but I forgot to remove it from the commit. Do you want me to remove it?