Coalesce warnings for deprecated lifecycle hooks and print single message after reconciliation (rather than one per component-type).

Relates to PR #12028 and [this comment](https://github.com/facebook/react/pull/12028#discussion_r162420575).
error = clearCaughtError();
          continue;
        }
      } else {
        try {
          renderRootCatchBlock(root, failedWork, boundary, expirationTime);
          error = null;
        } catch (e) {
          didError = true;
          error = e;
          continue;
        }
      }
      
      break;
    }
    const uncaughtError = firstUncaughtError;
    
    stopWorkLoopTimer(interruptedBy);
    interruptedBy = null;
    isWorking = false;
    didFatal = false;
    firstUncaughtError = null;
    if (uncaughtError !== null) {
      onUncaughtError(uncaughtError);
    }
    return root.isReadyForCommit ? root.current.alternate : null;
  }
  
  function captureError(failedWork: Fiber, error: mixed): Fiber | null {