Refactoring attribute definition a little bit
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.
Renaming Association Attribute Models
Avoinding behavior breaking on HasMany when changing HasOne
Avoiding duplicate reject logic

The reject is already defined in #all_attributes. There is no reason to not use it!
Isolating Association Models from Attributes
Reworked Associations to be independent of Attributes
Refactoring Duplicated Code
Splitting Behaviors in different methods
Fix build on ruby 1.8.7
Pluralizing methods on Fog::Associations::Many
Bringing back has_one and has_many interfaces
Removing association interface
Doing some code cleanup
Merge pull request #60 from zertico/association_methods

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