Implemented IClonable.
Added 'State' as a sufix to all state classes.
Ignore whitespace and newline chars for PreviousChar.
Added some new logic for indentation.
Copied the current IndentEngine and IndentState in all-in-one TestFiles.
Enabled indentation mode.

Intrusive - NeedsReindent is true when the CurrentIndent is not equal to
ThisLineIndent and it's not the beginning of the line.
OnTheFly - NeedsReindent is true as above, but the current char has to
be the newline.
Implemented the interface for CSharpIndentEngine in monodevelop.