refactor data model field/constraint/calculation into classes
Lots of refactor, cleaned up DataModel constructor
Merge branch 'datamodels/refactor' into feature/datamodels