Change the class_specifier rules to better match standard.

This should not create any functional changes, it is primarily for
readability.
Add "final" as a keyword, allow it in class definition.

I could not find any way to do this in a context-insensitive way, or
without in fact identifying "final" as a keyword.  The result is a bit
messy (because the new token "FINAL" acts as an identifier) and also
results in a shift/reduce conflict (because "FINAL" has a special
interpretation in a class specifier).