handleError = function(error, done) {
    if (self.error) {
      return done();
    }
    self.error = true;
    done(null, self.afterIndex);
  }
Executes a spec which is an it block with associated before/after functions
based on the describe nesting.

@param {Object} spec A spec object
@param {function()} specDone function that is called when the spec finishes,
                             of the form `Function(error, index)`