Implémentation en R des modèles #colSBM

# Améliorations

- [ ] Ajouter les checks d'identifiabilité dans le package en tant que fonctions appellables
- [ ] Généraliser la manière de stocker et travailler avec différents modèles 
- [ ] Implémenter les estimations pour les distributions ⛔ 417egt
    + [ ] (colSBM) Catégorielle
    + [ ] (colSBM) Gaussienne
    + [ ] (colSBM) Binomiale négative
- [ ] Pour améliorer implémenter un hachage avec `rlang::hash` #plus-tard
	- [ ] Comparer la vitesse entre le hachage et la méthode sans

## Hachage

1. Générer un hash dans fitBipartiteSBMPop à partir des matrices de tau et le rendre accessible depuis `$hash`
2. Stocker une base des hash déjà rencontrés dans `bisbmpop`. 
Approche moins 'flexible' que les ARIs met qui devrait permettre de gagner de la vitesse

**Avantage**: Possible de passer la table de hachage à des sous-modèles ? Pour le partitionnement par exemple ?

# Bugs

## Merging models vapply

Je rencontre un bug que j'ai fréquemment eu sur Migale:

```
Merging the 3 modelsErreur dans vapply(models_comparison, function(model) model$BICL, FUN.VALUE = 0.1) : 
  values must be length 1,
 but FUN(X[[2]]) result is length 0
Appels : lapply -> FUN -> <Anonymous> -> vapply
De plus : Il y a eu 50 avis ou plus (utilisez warnings() pour voir les 50 premiers)
Exécution arrêtée
```

- [x] Essayer de reproduire l'erreur de `vapply` pour la réparer 🆔 ckx0ew ✅ 2026-06-15
    + [x] Modulariser la fonction de fusion des réseaux pour pouvoir implémenter le test unitaire ✅ 2026-06-11
    + [x] Ajouter la même suppression pour discarded que pour compared ✅ 2026-06-11
	- [x] Améliorer la fusion des runs pour conserver à chaque $(Q_1,Q_2)$ les modèles ⛔ 50v6w4 ✅ 2026-06-11
	- [x] Implémenter le nouveau merge dans le package et vérifier que tout fonctionne normalement ✅ 2026-06-13
- [x] Implémenter un test unitaire pour prévenir la régression ⛔ ckx0ew ✅ 2026-06-13

La réimplémentation semble avoir réussie à éliminer ce bug.
