Modify SpeciesManager.conatins_name to first do a multi-tiered search

First contains_name will attempt to search based on the exact text entered,
then if that returns no results it will do a more complex search by
breaking the query string into words and searching for each individual word
in the various name fields.