Outer parser - improving lexical expressions and adding case insensitive keywords

@dwightguth please review.
 - case insensitive Terminals. Just like strings but with single quote
 - fixing and improving lexical expressions to match SDF. Allowing users to reference other lexical expressions.
 - improved the error message when having an ambiguity between two constants.

Modifying the JavaCC outer parser to accept the new types of strings.