Literal Options Changing Fix

Fixed an error with the way that RegexLiteral behaved when faced with options that change mid-pattern (as with the (?) construct).

Since changing options doesn't create a new pattern element, when literals are on either side of the change in options, they are invoked as if they were successive.  This would not be problematic, except that the RegexPatternElement then has the same options -- the options from before they were changed -- throughout.  This is not an issue unless RegexOptions::IgnoreCase (the only option that concerns RegexLiteral) is changed.

Accordingly, added a check to the RegexLiteral/RegexLiteralParser classes which forms a new RegexPatternElement when the value of RegexOptions::IgnoreCase changes between successive invocations.
RegexLiteral::ToString Fix

RegexLiteral::ToString now indicates when RegexOptions::IgnoreCase is set by appending its output with "(case insensitive)".