Changed handling of set-expressions.

User-visible changes are as follows:
- Write "!e" instead of "~e" for the complement of a set. Still write "~e" for the complement of a relation.
- Write "e1 * e2" instead of "[e1 * e2]" for cross-product. That is, the square brackets are no longer needed.
- Write "{}" instead of "0" for the empty set. Still write "0" for the empty relation.

I fixed the cpp11.cat, opencl.cat and ptx.cat model files accordingly.

I also updated the documentation accordingly.