Adding a mostly (theoretically) working BDD-based set domain.

It has not been tested at all, so it needs extensive testing.
More problematically, there is a flaw in the design of BDDBasic
that prevents it from converting a domain back to constraints.

Refactoring of the internal structure may work around this problem
but this is a troublesome change, requiring changing practically
every single function in the domain including significant changes
to the most complicated functions that manage constants.