Avoid Win32-specific file functions in Mono where parts are 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.