ResolveRelativePath Fixes

This PR builds on the work @lordoaty did in https://github.com/mono/MonoGame/pull/3073.

It adds fixes for unix-like systems and includes a unit test that hopefully covers the gamut of possible paths we can get.

Fixes https://github.com/mono/MonoGame/issues/3064.
Fixes https://github.com/mono/MonoGame/issues/3041.
@Nezz @lordoaty - Any clue why the `Path.PathSeparator` (the `;` ) came up here? 

I'm only leaving it because @lordoaty had it in his code, but I don't see how this would happen.