bugfix: `UnaryOperator` has a `self.operand` attribute, not `self.left`
bugfix: `UnaryOperator.__init__` has `operand, op` parameter order, not `op, operand`
new `Const` class
reorganized set operations (UNION, INTERSECT, EXCEPT) as actual Python operations
new syntax: ( SELECT(...) | SELECT(...) ).ORDER_BY(...)
reorganized all constants to use the new `Const` wrapper