Make 'provides' optional
Add __str__ method for ingredient types