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.

Found a few bugs in the regular expression for lexicals, so I had to fix somethings in here too.