Do not index full rpm metadata if already present
Description of problem:
Currently during any repo sync, we:
1. check to see if there was any change (or mismatch of unit counts)
2. IF so we request all UUIDs of rpms in the repo
3. We then fetch all rpm units by their UUID
After chatting with mhrivnak, the unit metadata for an rpm should never change (for the fields we care about), so we could optimize this by getting the list of UUIDs and then only fetching (and updating) units that aren't in the repo.
This should speed up repo syncing quite a bit.
We may want to add a 'force' sync option to override this behavior as well.
Fixes #18655 - Only index new rpms on repository sync
We index all rpms after a repository sync, which is unnecessary
for the already present rpms (in katello db). We should only
index the rpms that are not present in katello's db. This
new logic will say "What rpms are in pulp that are not in
our db for this repository?" and index those.