Fix issues with nested classes

Since the lexer token stream doesn't always correspond with the
coffeescript written by the user, we need to do extra checks to identify
the correct last non-empty line in a class.
Code clean up for line_linter
Add failing test case for empty classes