Use FileStream as fallback from native method

Currently NLog on a Windows machine uses a unmanaged call to create
filestreams, which allows better stream control, in all other cases it
uses the FileStream class.
When running under medium trust calls to unmanaged code aren't allowed,
which makes NLog thrown an exception, and no log file is created.
To fix this I've added a try..cacth around the unmanaged call, and also
added a check if the current AppDomain is fully trusted. This makes NLog
fallback to the managed wrapper if we aren't running in full trust and if
a SecurityException happens during the unmanaged call.

Partly solves #117 and fixes #67