specialize schema reflection warnings

This PR specializes the warnings issued in the reflection code. The use case is to deal with the different warning types differently from the outside. For example, I have some code lying around [1], which does some reflection work using SA. It doesn't need to care about certain warnings (say, index warnings or incomplete types), but needs to deal with others (it turns them into exceptions and works with those).

I'm not sure if the names are too long. Maybe you have ideas about shorter names :-)

[1] intend to publish it