Make EnumSet not silently corrupt data.

Assert at run time instead. Fixes #13756.

I’d rather have this be detected at compile-time, but I don’t know how to do that.
EnumSet assertion: better error message.
Add example impl in CLike docs. Fix 13752.
auto merge of #18721 : SimonSapin/rust/safer-enumset, r=alexcrichton

Assert at run time instead. Fixes #13756.

I’d rather have this be detected at compile-time, but I don’t know how to do that.