Handle case-insensitive file systems better

We seemed to work just fine with case-insensitive filesystems,
except when option -d was used. The problem is that we can't just
compare the paths, we have to use case-insensitive comparison. So
what we do is we check each individual path for case sensitiveness
and lowercase those path components. So when we compare two
SCVPathReference objects, the case-insensitive path components
will all be lowercased and we'll get a match.