Fixed issue where ambiguous taxa names got the same internal ID

Change Bio::DB::Taxonomy::_handle_internal_id() so that it first looks up taxa
by taxon ID, and then, if unsuccessful and required by the user, by name and rank.
This allows to disambiguate taxa that have the same scientific name, but are
really different taxa (different taxon ID and internal ID).