Don't iterate over `$wp_query->posts` in `update_post_thumbnail_cache()` if it is empty. Adds unit tests.

Props SergeyBiryukov, for the original patch.
Fixes #26321.
 

Built from https://develop.svn.wordpress.org/trunk@27166


git-svn-id: http://core.svn.wordpress.org/trunk@27032 1a063a9b-81f0-0310-95a4-ce76da25c4cd