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)
  });

Includes updates for DS.RESTSerializer to parse hasOne information out
of incoming record data but not include it with outgoing data.