Added tests for smart_associations

Some preliminary tests to ensure that everything functions as it should.
Covers extendsTo, hasOne and hasMany.
Merge remote-tracking branch 'origin/master' into remove_keys