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
Don't use USDA symbol for matching

Why:
* It's complex to handle on top of species in/out of instance and multiple matches
* If people have mispelled scientific names our Levenshtein fuzzy comparison should allow them to figure it out