SystemTools: add a fast path for GetCasePathName
In e9d2b696 (SystemTools: Cache only existing path names in GetActualCaseForPath, 2017-11-07), the cache was made to only store paths which existed. This caused the queries for non-existent paths to perform expensive operations on every check.
To tackle this, first the check for a relative path is simplified to use
the method rather than relying on the expensive SplitPath
operation.
Second, a path which doesn't exist isn't going to be cached, so we
should just toss it out.
See !68 (merged).