find_library: Fix repeat call after changing directory content (#15293)

We use cmGlobalGenerator::GetDirectoryContent to avoid repeating
directory listings.  However, GetDirectoryContent loads content from
disk at most once.  This breaks find_library calls that occur when disk
content has changed since preceding find_library calls.

Teach cmGlobalGenerator::GetDirectoryContent to save the directory
modification time when content is loaded and re-load content if it
changes.

Create a RunCMake.find_library test with a case covering this.
Merge topic 'find_library-updated-directory-content' into next

ce331bab find_library: Fix repeat call after changing directory content (#15293)