Association versioning

* Adds tracking to associations, and dirty associations