If species doesn't match one of instance's species, search all species

* Rename field ORIG_SPECIES to POSSIBLE_MATCHES
* Add _SPECIES_BY_SCIENTIFIC_NAME dict to allow direct lookups
* Rename/refactor functions that search the SPECIES list
* Possible matches now stored as Species objects rather than Species id's
* If we find a species dict match, make a new Species object and add it (unsaved)
to the list of possible matches