Add hasOne association

Models can now define a hasOne association as the inverse of a belongsTo
association:

  App.Person = DS.Model.extend({
    heart: DS.hasOne(App.Heart)
  });

  App.Heart = DS.Model.extend({
    person: DS.belongsTo(App.Person)
  });