Constraints are completely implemented.

Each course has a specific MIN and MAX value for each of the properties
(GL, fats, carbs...). A recipe can calculate the amount per serving for
a given property, and check it against the course's constraint.