Clause ewffs are restricted to clause variables.

Having additional variables in ewffs makes no sense, but could make
subsumption tests incomplete. For safety, the constructor ensures that
the ewff mentions no additional variables now.
Full implementation of Setup class.

The API (and mostly implementation) closely follows the old C
implementation.
One difference is the handling of HPlus. The user may initialize it
through UpdateHPlus(Term::Factory) when she is done adding clauses to
the setup.

The code is untested!

Lazy copies of sets would perhaps be helpful.

Also replaced a few unsigned integers with normal int (in adherance to
C++ style guide). The IDs of normal StdNames are limited to
non-negative integers; negative integers are used for placeholder names.