Split model definitions in models.py into three submodules within models
module.

Removed imports that caused circular model imports