Pre defined attributes should now work, dirty attributes

* Fixed a bug in extend where pre defined attributes where not properly
  added to the object.

* Added a dirty attributes so we know which attributes to persist to the
  database.
Wip model specs