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.
again, we are using file path and folder path interchangeably. this should throw an exception.

I know we might be using them all interchangeably now, but I think this is a good chance to clean it up. A dir path is a dir path and a file path is a file path. lets start treating them correctly.