title: What does the "expand" option do in grunt-contrib-copy? The examples all use it but the docs say nothing about what it does
body: <ol>
  <li>Here is the README and examples: <a href="https://github.com/gruntjs/grunt-contrib-copy/blob/master/README.md">https://github.com/gruntjs/grunt-contrib-copy/blob/master/README.md</a>.</li>
  <li>Here is the relevant part of the code (that I apparently cannot understand) from <a href="https://github.com/gruntjs/grunt-contrib-copy/blob/master/tasks/copy.js">https://github.com/gruntjs/grunt-contrib-copy/blob/master/tasks/copy.js</a>:</li>
  </ol>
  
  <pre>
  module.exports = function(grunt) {
    'use strict';
  
    var path = require('path');
  
    grunt.registerMultiTask('copy', 'Copy files.', function() {
      var kindOf = grunt.util.kindOf;
  
      var options = this.options({
        processContent: false,
        processContentExclude: []
      });
  
      var copyOptions = {
        process: options.processContent,
        noProcess: options.processContentExclude
      };
  
      grunt.verbose.writeflags(options, 'Options');
  
      var dest;
      var isExpandedPair;
      var tally = {
        dirs: 0,
        files: 0
      };
  
      this.files.forEach(function(filePair) {
        isExpandedPair = filePair.orig.expand || false;
  
        filePair.src.forEach(function(src) {
          if (detectDestType(filePair.dest) === 'directory') {
            dest = (isExpandedPair) ? filePair.dest : unixifyPath(path.join(filePair.dest, src));
          } else {
            dest = filePair.dest;
          }
  
          if (grunt.file.isDir(src)) {
            grunt.verbose.writeln('Creating ' + dest.cyan);
            grunt.file.mkdir(dest);
            tally.dirs++;
          } else {
            grunt.verbose.writeln('Copying ' + src.cyan + ' -> ' + dest.cyan);
            grunt.file.copy(src, dest, copyOptions);
            tally.files++;
          }
        });
      });
  </pre>