KnowledgeBase is more robust + courses added in the JSON file

DETAIL:
 - Parsing of double robust (could do the same for recipes...)
 - Referencing with names case insensitive
 - SubstitutionsMap was created because one ingredient can have
different possible substitutes
 - spaghetti.json was removed since pasta and meat are not anymore in
the knowledge base