HasIngredient for better recipe composition + optimisation

- Quantity is not part of an ingredient anymore
- The knowledge base uses HashMaps