Manage recipe/ingredient edge cases better
Manage recipe/ingredient edge cases better

`already_reported_recipe_case_id` is only set on recipes, so it doesn't make
sense to have that there.
Treat already-reported recipes as recipes with no ingredients (for now)
If a recipe shows up with no ingredients, mark it NOT_AVAILABLE
Use `uuid` to filter `recipe` out of rows to ensure nothing else is dropped
(This last one shouldn't change anything, as anything that `is_recipe`
can't appear in `ingredients` anyways, as its `recipe_id` is its own
`case_id`)

dimagi/commcare-hq,dimagi/commcare-hq,dimagi/commcare-hq,dimagi/commcare-hq,dimagi/commcare-hq