Allow Set() to coerce a union of sets to a single set

This fixes the issue Alex Jordan pointed out in [pull 161](https://github.com/openwebwork/pg/pull/161#issuecomment-55204574), and allows you to use `Set()` to coerce a Union to be a single set if it is a union of sets.

You can test with 

    Set("{1} U {2}")

or
   Set(Union(Set(1),Set(2)))

or other similar constructs.  These should produce the set `{1,2}` in the patched version, and produce an error in the unlatched version.