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).
let nextRenderExpirationTime: ExpirationTime = NoWork;
  
  let nextEffect: Fiber | null = null;
  
  
  let capturedErrors: Map<Fiber, CapturedError> | null = null;
  
  
  
  
  let failedBoundaries: Set<Fiber> | null = null;
  // Error boundaries that captured an error during the current commit.
  let commitPhaseBoundaries: Set<Fiber> | null = null;
  let firstUncaughtError: mixed | null = null;
  let didFatal: boolean = false;
  let isCommitting: boolean = false;
  let isUnmounting: boolean = false;
  // Used for performance tracking.
  let interruptedBy: Fiber | null = null;
  function resetContextStack() {
    
    reset();
    
    resetLegacyContext();
    resetProviderStack();
    resetHostContainer();
  }
  function commitAllHostEffects() {
    while (nextEffect !== null) {
      if (__DEV__) {