Cleanup policies, properly skip tags that don't have a `created_at`

Problem

This line: https://gitlab.com/gitlab-org/gitlab/-/blob/fcebe5c492f316e9ba21d0502995ed476764773d/app/services/projects/container_repository/cleanup_tags_service.rb#L57 will replace a nil
created_at
with a now
value.
It's ok for the cleanup service because this will make the tags being kept.
The issue is that we're keeping a tag by simulating data on one of its field created_at
. This can be unsafe for future iterations as the cleanup service could be using that value for additional filters.

Solution

Properly discard tags that have a nil
created_at
before applying the filters on created_at
. By discarding them, those tags will never be destroyed.