Failure and Successes

Updated the logic for a recipe to be deemed a failure. Added the notion
of “swapped ingredients”, such that these don’t have to be continuously
checked in the isSuccess method, since we know they work as we created
them in the first place!