title: Sequelize Invalid value [object Promise] using assocations
body: <p>My current models:</p>
  
  <pre><code>let Book = sequelize.define('book', {
    title: Sequelize.STRING,
    author: Sequelize.STRING,
    ...
  });
  
  let Recommendation = sequelize.define('recommendations', {
    reasoning: Sequelize.STRING,
    rating: Sequelize.FLOAT,
  });
  
  Book.belongsToMany(Recommendation, {through: 'bookrecommendation'});
  Recommendation.belongsToMany(Book, {through: 'bookrecommendation'});
  </code></pre>
  
  <p>When executing code below method addRecommendation to add Recommendation for Book I get an error Error: Invalid value [object Promise] </p>
  
  <pre><code>Book.findOrCreate({
    where: { id: '1' }, defaults: {
      author: 'test',
      title: 'test'
    }
  })
  .spread(function (b, createdBook) {
  const rec = Recommendation.create(
    {
      reasoning: 'test',
      rating: 1
    });
    b.addRecommendation(rec).then((result) =&gt; {
  
    }, (error) =&gt; {
      console.log(error);
    })
  }
  </code></pre>