message: fix: correctly use private mutations, not all mutations, in the QC rule
diff: namespace Nextclade {
  std::optional<QcResultPrivateMutations> rulePrivateMutations( //
  const NextcladeResult& result, //
  - const std::vector<NucleotideSubstitution>&, //
  + const std::vector<NucleotideSubstitution>& privateMutations,//
  const QCRulesConfigPrivateMutations& config //
  ) {
  if (!config.enabled) {
  return {};
  }
  - const auto& substitutions = result.substitutions;
  const auto& insertions = result.insertions;
  const auto& deletions = result.deletions;
  - const auto totalNumberOfMutations = safe_cast<double>(substitutions.size() + insertions.size() + deletions.size());
  + const auto totalNumberOfMutations =
  + safe_cast<double>(privateMutations.size() + insertions.size() + deletions.size());
  // the score hits 100 if the excess mutations equals the cutoff value
  const auto score = (std::max(0.0, totalNumberOfMutations - config.typical) * 100.0) / config.cutoff;
  