Incorporate assembly dir location for mono, unc and normal file paths

This still needs checking out ideally, but I think we are good to go

```
public static bool IsRunningOnMono()
{
  //This ideally needs confirming that this is the proper way to identify mono
  return Type.GetType("Mono.Runtime") != null;
}
```