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).
);
    }
    startWorkLoopTimer(nextUnitOfWork);
    let didError = false;
    let error = null;
    if (__DEV__) {
      invokeGuardedCallback(null, workLoop, null, expirationTime);
      if (hasCaughtError()) {
        didError = true;
        error = clearCaughtError();
      }
    } else {
      try {
        workLoop(expirationTime);
      } catch (e) {
        didError = true;
        error = e;
      }
    }
    
    while (didError) {
      if (didFatal) {
        
        firstUncaughtError = error;
        break;
      }
      const failedWork = nextUnitOfWork;
      if (failedWork === null) {