Add hasOne relationship

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

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

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