Move heterogenous->heterogeneous to the rare dictionary
"heterogenous" is both a valid word with a distinct meaning,
and an accepted alternative spelling of "heterogeneous"
(see <https://en.wiktionary.org/wiki/heterogenous>)
so it is removed from the main substitutions dictionary.
However, "heterogenous" is much rarer in practice than "heterogeneous":
- [google ngram viewer](https://books.google.com/ngrams/graph?content=heterogenous%2Cheterogeneous)
- [4M search results](https://www.google.com/search?q=heterogenous) for "heterogenous", vs
[111M search results](https://www.google.com/search?q=heterogeneous) for "heterogeneous"
...so it is added to the rare dictionary as word that is valid, but likely to be a typo.
diff --git a/codespell_lib/data/dictionary.txt b/codespell_lib/data/dictionary.txt
index a9a7b78..14c04e4 100644
--- a/codespell_lib/data/dictionary.txt
+++ b/codespell_lib/data/dictionary.txt
@@ -14558,7 +14558,6 @@
hesiate->hesitate
hesistant->hesitant
hestiate->hesitate
-heterogenous->heterogeneous
hetrogenous->heterogeneous
heuristc->heuristic
heuristcs->heuristics
diff --git a/codespell_lib/data/dictionary_rare.txt b/codespell_lib/data/dictionary_rare.txt
index 9c443e3..7f2a8c1 100644
--- a/codespell_lib/data/dictionary_rare.txt
+++ b/codespell_lib/data/dictionary_rare.txt
@@ -63,6 +63,7 @@
guerilla->guerrilla
guerillas->guerrillas
hart->heart, harm,
+heterogenous->heterogeneous
hided->hidden, hid,
hist->heist, his,
hove->have, hover, love,