Adding an "ELSE" and "ELSE_BLOCK" context

This will fix a test that would otherwise break with code where keywords
change into identifiers.
Keywords should be treated as identifiers in some situations

This closes the second half of issue #7 and all of issue #6.