Added DebugWriter

Added DebugWriter to distinguish debug messages from client(System.Diagnostics.Debugger.Log() or System.Diagnostics.Debug.Write()) from debugger messages
* SoftDebuggerSession.cs:
 * Changes from LogWriter -> OnDebuggerOutput is to check if LogWriter is null(bug fix in case application didn't set LogWriter listener).
 * "\n" -> Environment.NewLine feels like code cleaning I can revert if "\n" is for some reason better... Platform specific line ending seems better in case its loged into file or even screen and then copy pasted into native application like Notepad which only handles \r\n...
 * HandleUserLogEvents using new API to distinguish debuggee Debug.Write from SessionDebugger and other debugger logs...
* BreakEventInfo:
 * Tracepoints are also debug messages so go into same category...
* DebuggerSession.cs
 * API change itself

Other part of changes is in MD pull request: https://github.com/mono/monodevelop/pull/543