(#18458) Refactor "always-stale" LoadedFile into separate class.

This refactors the always-stale functionality in LoadedFile by creating
a derived class LoadedFileAlwaysStale and changing the initialization
signature back to the original.

The branch point in type_collection now picks the always-stale class if
passed true. 

The loadedfile_spec is consequently changed back, a separate test added
for LoadedFileAlwaysStale, and example cases added to
type_collection_spec (to check if it picks the regular or the always
stale implementation based on the passed flag).