Adding the core components.

Lots of unfinished stuff here, will be taking it piece by piece,
starting with Ingredient.

Signed-off-by: Ken Hoover <ken.hoover@mail.utoronto.ca>