Avoid Win32-specific file functions in Mono where parts not implemented.

Add && !MONO compiler switch around Win32-specific file functions in BaseFileAppender.cs. Specifically, WindowsCreateFile() calls Marshal.GetHRForLastWin32Error() which is unimplemented (in Mono 3). Without this fix, many log messages are not emitted. The try/catch block added to TryCreateFileStream() does NOT fix this.