title: Sequelize hasOne will not allow multiple rows to share the same relationship
body: <p>I'm experiencing an issue with sails.js using the Postgres driver:</p>
  
  <pre><code>"dependencies": {
      "sequelize": "^1.7.0",
      "pg": "^3.0.3"
  }
  </code></pre>
  
  <p>I have an Activity model that has a hasOne relationship to 2 models and belongs to another:</p>
  
  <pre><code>classMethods: {
      associate: function(models) {
          Activity.hasOne(models.Model2);
          Activity.hasOne(models.Model3);
          Activity.belongsTo(models.User);
      }
  }
  </code></pre>
  
  <p>The problem I am having is I seem unable to create 2 Activity Instances that share the same Model2 or Model3 row/instance. I declare the first one:</p>
  
  <pre><code>Activity.create({}).complete(function(err, activity) {
      if(err) throw err;
      activity.setUser(User_Instance_X)
      activity.setModel2(Model2_Instance_X);
      activity.setModel3(Model3_Instance_X);
      activity.save().complete(db_save_cb);
  }
  </code></pre>
  
  <p>If I then declare another one, using the same Model2 &amp; Model3 instance but a different user, then the first row/instance no longer contains a reference to Model2 &amp; 3, and only the latest row/instance contains that reference.</p>
  
  <p>This is puzzling functionality? Is it a lack of understanding on my part or a bug?</p>