Make JSON support required properties (#72937)
* Throw exception when 'required' keyword used but ctor does not have 'SetsRequiredMembers'
* Support required keyword (and internal IsRequired)
* remove local variable (forgot to press Save All)
* revert added namespaces in two files
* Apply feedback
* apply second round of feedback (minus HashSet optimization)
* Use BitArray rather than HashSet
* simplify validation code
* Truncate the message if too long, flip meaning of bit array bits
* remove default value, add description for BitArray
* for compiler attributes check for full type name rather than using typeof on net7.0
17 files changed: