Intersections

many changes and bug fixes.

1. added intersection types, see: tests/liquid/pos/misc/negate-06.js

2. fixed support for array and object `literals`

3. added inference for array and object `literals`

4. simplified handling of `while` loops.