Fix handling of invalid recipes
The current implementation assumes that there a single recipe file for a recipe. A common use case for using InvalidRecipeError is for recipes that have different implementations on different platforms on different files, or when a recipe override is only valid for a given platform. In those cases we can have several recipes with the same name, when one or many raise an InvalidRecipeError but others won't
Edited by Andoni Morales Alastruey