Have custom cache profile inclusions/exclusions apply to external targets too instead of just internal targets

Continuing the discussion from Indicate that internal targets prefer replacement with binary cache:

Expanding on this, I ran into a scenario where we needed to allowlist a specific set of external targets for replacement rather than the entire set of external targets. I’ve proposed a change here to have the except/and parameters to apply to external targets the same way they do for internal targets:

There is a risk here that this changes expectations for people in the rare case that they have an external target in one of these lists in their custom profile definitions, as before it would do nothing but now it would actually apply. I think that risk is pretty minimal though, and may even be what some expect without looking at the code.