Fix and enhancement of parser.

It was possible to add dynamic things into literal array, like:
```smalltalk
#(4 {5. 6} [ :x | x isBlock ] 'string')
```
When tried, it failed without any usable clue.
This is fixed with this.

Also, `#(#(4 5) #(6 7))` can be written as `#((4 5) (6 7))`.