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

So, so much better!
So, I've separated classbody parsing from object literal parsing, because they're different, and because I think it makes the code easier to follow, and makes the object literal parsing a tiny bit simpler. A few methods within object literal parsing are taken out so that they can be shared (saveProperty, saveGetter, saveSetter).