Os-Agnostic Path Handling

I though all the slash and backslash handling all of the place was ugly. So I created OsPath to be os-agnostic, actually it simply detects the type of path.

Initially I had OsPath as storage type on RemotePathMapping but that was a bit tricky on the UI. But I left the OsPathConverter in case we want to add it transparently to the db in the future. It isn't used though.

Anyway, this PR is to get some feedback, I didn't look over it yet, so don't go all wild on code-standard stuff :)

I'm considering we should be using this anywhere were we actually use a path. Lemme know what you think.
There is always a way! generate a file with lowercase name, check if it exists in it's upper case form. 

but I think it's safer to assume files in osx are case insensitive since almost always they will be.