title: gulp is not calling the callback -- it just hangs at end of task
body: <p><code>callback</code> is firing, but task just hangs on <code>Finished 'hooks:pull' after 2.04 s</code></p>
  
  <pre><code>gulp.task('hooks:pull', function(callback){
    var files = [
      { remote: '~/deploy/test.example.com/hooks/post-receive', local: './bin/post-receive.test' },
      { remote: '~/deploy/staging.example.com/hooks/post-receive', local: './bin/post-receive.staging' },
      { remote: '~/deploy/example.com/hooks/post-receive', local: './bin/post-receive.production' }
    ];
  
    async.each(files, function(file, cb) {
      var opts = {
        host: 'example.com'
      };
  
      opts.file = file.remote;
      opts.path = file.local;
  
      scp.get(opts, function(err) {
        if (err) {
          console.error(err);
          return cb(err);
        }
  
        console.log('%s hook has been pulled!', file.local);
        cb();
      });
    }, function(err){
      if ( err ) {
        console.error(err);
        return callback(err);
      }
  
      callback();
    });
  });
  </code></pre>
  
  <p>How do I get it to call the callback and exit/return?</p>
  
  <p>Just running <code>gulp hooks:pull</code></p>