Added Association Attributes and class methods to work with the association objects.

With one single class method is possible to create an attribute to hold
the identity, a method to load a model based on that identity and a
method to set a new identity which accepts an object that responds to
identity as well as the identity itself.