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.

Needing a boolean in terminal to differentiate between "asdf" and 'asdf'.