Logical operations for TSet

Added logical set operations to *sets.nim*:

 * `union` (aka **`or`**)
 * `intersection` (aka **`and`**)
 * `symmetricDifference` (aka **`xor`**)
 * `disjoint`

Also added versions of `incl` and `excl` that take another `TSet` as second argument. Added tests for new operations.