cb = function(err) {
    if(err) {
      // clean up
      that.remove(version, function(e) {
        if(e){
          return callback(
            new Error(
              err.message + '. Could not clean after error: ' + e.message)
          );
        }
        // pass on the error
        callback(err);
      });
      return;
    }
    return callback(null, version);
  }
Downloads the passed version from this.sourceUrl
@param {string} version The version to download
@param {function} callback A callback with (error, arrayOfVersions)
@return {*} nothing