title: Sequelize select with aggregate includes bad attributes => error
body: <p>The models are <code>Person</code> and <code>Team</code> with a M:1 relationship.</p>
  
  <p>The query that fails:</p>
  
  <pre><code>db.Person.findAll({
      attributes: [ [sequelize.fn('COUNT', sequelize.col('*')), 'count']],
      include: [{model: db.Team, required: true}], // to force inner join
      group: ['team.team_id']
      }).complete(function(err, data) {
          ...
      });
  </code></pre>
  
  <p>The generated SQL is:</p>
  
  <pre><code>SELECT "person"."person_id", 
         COUNT(*) AS "count", 
         "team"."team_id" AS "team.team_id", 
         "team"."team_name" AS "team.team_name", 
         "team"."team_email" AS "team.team_email",
         "team"."team_lead" AS "team.team_lead" 
  FROM "person" AS "person" INNER JOIN "team" AS "team" 
      ON "person"."team_id" = "team"."team_id" 
  GROUP BY "team"."team_id";
  </code></pre>
  
  <p>Obviously, the <code>person.person_id</code> included in the <code>SELECT</code> clause, screws it up, with Postgres complaining correctly that:</p>
  
  <pre><code>ERROR:  column "person.person_id" must appear in the `GROUP BY` clause or be used in an aggregate function
  </code></pre>
  
  <p>It seems that the <code>attributes</code> option is taken into account since the <code>COUNT</code> appears correctly, but all the rest of the columns in the <code>SELECT</code> clause are added by default.</p>
  
  <p>Is there another way (besides <code>attributes</code>) to explicitly define which columns appear in the <code>SELECT</code> clause or is this a bug?</p>
  
  <p>I'm using Sequelize v2.0.3.</p>