add support for UNION, INTERSECT, EXCEPT and their UNION ALL variant

syntax:
  << union (t | t in $foo$; ...) (... | ...) >>
Add the type for string arrays
Add the array_agg aggregator