title: Ember get not getting certain attribute
body: <p>When running the following from the <code>UserController</code> on Google Chrome, with <code>ember-couchdb-kit-0.9</code>, Ember Data <code>v1.0.0-beta.3-56-g8367aa5</code>, Ember <code>v1.0.0</code>, and <a href="https://github.com/roundscope/ember-couchdb-kit" rel="nofollow">this couchdb adapter</a>:</p>
  
  <pre><code>customerSignUp: function () {
              var model = this.get('model');
              var customer = this.get('store').createRecord('customer', {
                  description: 'Why hello sir',
                  user: model
              });
              customer.save().then(function() {
                  model.set('customer', customer);
                  model.save();
              });
          }
  </code></pre>
  
  <p>with these models:</p>
  
  <pre><code>App.User = App.Person.extend({
      name: DS.attr('string'),
      customer: DS.belongsTo('customer', {async: true })
  
  App.Customer = DS.Model.extend({
      user: DS.belongsTo('user', {async: true}),
      description: DS.attr('string')
  });
  </code></pre>
  
  <p>neither the user nor the customer has their relationship set properly (in the Ember Debugger the user has <code>null</code> and the customer has <code>&lt;computed&gt;</code>, rather than some sort of <code>&lt;EmberPromiseObject&gt;</code> which is what they have when it works).
  This only happens when the object in question is persisted. If the <code>save()</code> calls are omitted, both have correctly set relationships, but of course the database hasn't been updated with this information. Whenever the saves happen, the relationships are overwritten with empty entries.</p>
  
  <p>I found that the problem was in the adapter's <code>serializeBelongsTo</code> function, which I've now changed my copy to the following:</p>
  
  <pre><code>serializeBelongsTo: function(record, json, relationship) {
        console.log("serializeBelongsTo");
        console.log(record.get('user'));
        console.log(json);
        console.log(relationship);
        var attribute, belongsTo, key;
        attribute = relationship.options.attribute || "id";
        console.log(attribute);
        key = relationship.key;
        console.log(key);
        belongsTo = Ember.get(record, key);
        console.log(belongsTo);
        if (Ember.isNone(belongsTo)) {
          return;
        }
        json[key] = Ember.get(belongsTo, attribute);
        console.log(Ember.get(belongsTo, attribute));
        console.log(json);
        if (relationship.options.polymorphic) {
          return json[key + "_type"] = belongsTo.constructor.typeKey;
        }
        else {
          return json;
        }
      }
  </code></pre>
  
  <p><code>attribute</code>, <code>belongsTo</code>, and <code>key</code> all log as correct, but
  <code>console.log(Ember.get(belongsTo, attribute));</code> returns <code>undefined</code>,
  which I've tried to change to 
  <code>console.log(Ember.get(Ember.get(belongsTo, 'content'), attribute));</code> 
  since <code>console.log(belongsTo);</code> told me the <code>id</code> attribute was hidden inside a <code>content</code> object. Attached is a screenshot showing what I mean.
  <img src="https://f.cloud.github.com/assets/5805971/1699551/869c575e-5fa6-11e3-97ea-98fd01436d75.png" alt="screenshot from 2013-12-07 18 15 52">
  The change doesn't fix the problem though, and I keep getting <code>undefined</code>. No matter what method I use to try to get the id out of the <code>belongsTo</code> object, I always get either <code>null</code> or <code>undefined</code>. Here are some examples of things I've tried to get <code>content</code> out of the object:</p>
  
  <pre><code>var content = belongsTo.content;
  var content = Ember.get(belongsTo, 'content');
  var content = belongsTo.get('content');
  </code></pre>
  
  <p><code>console.log(json);</code> returns <code>Object {description: "Why hello sir", user: undefined}</code></p>
  
  <p>Here's a pastebin showing relevant output: <a href="http://pastebin.com/v4mb3PJ2" rel="nofollow">http://pastebin.com/v4mb3PJ2</a></p>
  
  <h2>Update</h2>
  
  <p>A very confusing update!</p>
  
  <p>When I save the model from a different function:</p>
  
  <pre><code>saveModel: function() {
      this.get('model').save().then(
          function( data, textStatus, jqXHR ) {
              console.log('Saved successfully.');
          },
          function( jqXHR, textStatus, errorThrown ) {
              console.log(jqXHR);
              console.log(errorThrown);
              console.log(textStatus);
          }
      );
  }
  </code></pre>
  
  <p>The model is correctly saved. Everything in <code>serializeBelongsto</code> works exactly as expected.</p>
  
  <p>Here's a different pastebin showing output for this case: <a href="http://pastebin.com/Vawur8Q0" rel="nofollow">http://pastebin.com/Vawur8Q0</a></p>