title: Sequelize "unique: true" making same unique key two times with different keyname
body: <p><strong>Test1:</strong> Adding "unique: true" in email attribute.</p>
  
  <p><strong>Test2:</strong> Adding "unique: {args: true, msg: "xxxxxx"}" in email attribute.</p>
  
  <p><strong>Using Sequelize: 4.7.5 &amp; MySQL: 5.7.19</strong></p>
  
  <p>I'm expecting there will be one index for both the test cases.</p>
  
  <p>But I'm getting <strong>two indexes</strong> for the Test1. Both indexes are having <strong>same column</strong> but <strong>different keyname</strong>.</p>
  
  <p>Is it a bug or I'm doing anything wrong?</p>
  
  <p><strong>Try the following model defs.</strong></p>
  
  <pre><code>Test1 = {
  id: {
      type: Sequelize.INTEGER.UNSIGNED,
      primaryKey: true,
      autoIncrement: true
  },
  
  emailId: {
      type: Sequelize.STRING,
      unique: true,
      allowNull: false,
      validate: {
          isEmail: {
              args: true,
              msg: 'Invalid email id.'
          }
      }
  }
  }
  
  
  Test2 = {
  id: {
      type: Sequelize.INTEGER.UNSIGNED,
      primaryKey: true,
      autoIncrement: true
  },
  
  emailId: {
      type: Sequelize.STRING,
      unique: {
          args: true,
          msg: 'This email id is already registered.'
      },
      allowNull: false,
      validate: {
          isEmail: {
              args: true,
              msg: 'Invalid email id.'
          }
      }
  }
  }
  </code></pre>