Addition of an endpoint that accepts new data model

This is the addition of an endpoint that accepts the new data model.  

The code changes include some amount of validation of the data that is coming in and some sanity checks on a few things.

All data types except for `food` are implemented.