Remove extraneous OTM codes and their species duplicates

We want to add a uniqueness constraint on `Species` objects:
    `(instance, common_name, genus, species, cultivar, other_part_of_name)` should be unique.

But we have duplicates in our own data -- 6 cases where two OTM codes have the same species info.
For those 6 pairs we'll keep one and kill the other, updating uses in our i-Tree code tables.
Luckily, no production instance has a tree or i-Tree code override pointing to one of the species we want to kill.

Here are the pairs, with lines showing (otm_code -> itree_code in itree_region).
* indicates variants to delete.

Yellow buckeye (Aesculus octandra)
    AEFL -> BDL OTHER in PiedmtCLT
   *AEOC -> AEHI in NoEastXXX

Paraguay nightshade (Lycianthes rantonnei)
   *LYRA -> BES OTHER in CaNCCoJBK
    SO1  -> BES OTHER in SoCalCSMA

Tipu tree (Tipuana tipu)
   *TITI2 -> BDL OTHER in CenFlaXXX
    TITU  -> BDL OTHER in TropicPacXXX

Oriental arbor vitae (Platycladus orientalis)
    PLOR80 -> CEL OTHER in TropicPacXXX
   *THOR   -> THOR in CenFlaXXX
              CES OTHER in InlEmpCLM
              CES OTHER in SoCalCSMA
              BES OTHER in SWDsrtGDL

Winter cassia (Cassia bicapsularis)
   *CABI2 -> BDS OTHER in CenFlaXXX
    SEBI5 -> BDS OTHER in GulfCoCHS

Patmore ash (Fraxinus pennsylvanica, "Patmore")
   *FRPE2  -> FRPE in InterWABQ
    FRPE_P -> FRPE_M in InlValMOD
Remove duplicate species introduced by custom import mistakes

Our databases have duplicate Species objects due to previous mistakes on custom imports.
Eliminate one of the duplicates, moving any existing trees to the other duplicate.
Add Species uniqueness constraint

Also, don't try to add species twice in tests
PR fixup: add comment
Merge pull request #1814 from RickMohr/species-uniqueness-constraint

Species uniqueness constraint
Merge pull request #1821 from steventlamb/topic/importer_resolver

Add general resolver to importer
Add basic species resolver