When inserting a closed range/creating a CharacterSet from a closed
range we must not try to convert this range to a half open one by
incrementing the upperBound UnicodeScalar because not all integer values
are valid values for UnicodeScalar
Fixes SR-2988
* Implement CharacterSet.subtracting(_:)
* Add test for CharacterSet.subtract(_:)
* Expand on test for CharacterSet.subtract(_:)
* Address reviewer comment (CharacterSet tests)
* Improve documentation for CharacterSet set algebra