improve generators and models

Models use metaclasses.
Add attributes and datatypes basic functionality.
Improve Enumeration, but might need further improvements.
generator module is not generators.