Add utils to test whether a path resides under a certain parent(s)
Fix glacial video library cleanup with missing sources

Test whether our sources are accessible right up front during library
cleanup.  If they're missing and the user wants to remove their
contents, avoid stat() calls where possible using string compares. This
saves us, for instance, on SMB where CFile::Exists() times out for every
file and path.
Fix slow library update when sources are unavailable.

Similarly to the fixes for clean library, avoid stat() calls by testing
the source's existence and doing string comparisons during scan.