TextEditorOptions.EolMarker insted of Environment.NewLine.
Work on preprocessor directives.

Implemented support for #define and #undef directives symbols, joined
PreProcessorStatement and Region states into PreProcessor state,
implemented correct evaluation for #else directive.
Added 'lock' and 'using' in keywords that result in continuation indentation.
Implemented logic for indentation when '.' and '=' chars are pushed.
Implemented NeedsReindent property.
Refactoring.

Commented out the angle bracket state as it can be falsely activated on
the less-than char.
Implemented AllInOne tests.

User can define a code file with the expected indentation, the test
method automatically checks if the calculated indentation is correct on
all file lines.
Implemented an event in the engine which is raised on the new line char.
On this event the user can check if the current line needs to be
reindented (thisLineIndent won't be changed afterwards, and moreover it
will be replaced with the next line indent).
Added AllInOne test for preprocessor directives.