Updated the documentation style to match what we see in the Swift generated headers.
Refactored the HashSet out of the Set.swift file.
Removed the ∪ and ∩ operators from the Set protocol and implemented a default global version for all sets.
Added a new CountedSet type... this required overloads for  ∪ and ∩ operators; I'm not sure if there is a better way as the generator types are different for the different set types.