Lint classes better (much better) --- Fixes gh-1940

So, so much better!
> My only thought is the long param lists for those functions and keeping it all straight at the call sites. What do you think about one last refactor to make these accept an object of properties?

I'm not exactly sure what you mean by this --- I am guessing you mean the `isClass, isStatic` properties, and the way error messages are computed.

I'm okay with moving that computation into the callsites if that seems easier to understand (and, it wouldn't be a huge shocker if it was easier to understand)