Change react's ComponentLifecycle to class
Change react's ComponentLifecycle to class

ComponentLifecycle is intended to provide some methods to Component
subclasses and enforce that overrides of those methods are correct in
those same subclasses.

However, it does neither of these things as an interface that
Component `implements`. It just checks that Component has all the
required methods of ComponentLifecycle. Since there are no required
methods, the `implements` check passes. And since Component doesn't
actually *implement* any of the methods, its subclasses don't get
them by default, and their 'overrides' are not checked for
correctness.

Changing ComponentLifecycle to a class fixes both of these problems.

borisyankov/DefinitelyTyped,chrootsu/DefinitelyTyped,jimthedev/DefinitelyTyped,AbraaoAlves/DefinitelyTyped,benliddicott/DefinitelyTyped,benishouga/DefinitelyTyped,AgentME/DefinitelyTyped,one-pieces/DefinitelyTyped,ashwinr/DefinitelyTyped,GiedriusGrabauskas/DefinitelyTyped,AgentME/DefinitelyTyped,nycdotnet/DefinitelyTyped,abbasmhd/DefinitelyTyped,QuatroCode/DefinitelyTyped,jimthedev/DefinitelyTyped,alexdresko/DefinitelyTyped,QuatroCode/DefinitelyTyped,GiedriusGrabauskas/DefinitelyTyped,zuzusik/DefinitelyTyped,chrootsu/DefinitelyTyped,arusakov/DefinitelyTyped,AgentME/DefinitelyTyped,zuzusik/DefinitelyTyped,abbasmhd/DefinitelyTyped,jimthedev/DefinitelyTyped,dsebastien/DefinitelyTyped,aciccarello/DefinitelyTyped,minodisk/DefinitelyTyped,arusakov/DefinitelyTyped,magny/DefinitelyTyped,georgemarshall/DefinitelyTyped,aciccarello/DefinitelyTyped,AbraaoAlves/DefinitelyTyped,dsebastien/DefinitelyTyped,minodisk/DefinitelyTyped,aciccarello/DefinitelyTyped,markogresak/DefinitelyTyped,amir-arad/DefinitelyTyped,georgemarshall/DefinitelyTyped,georgemarshall/DefinitelyTyped,rolandzwaga/DefinitelyTyped,AgentME/DefinitelyTyped,borisyankov/DefinitelyTyped,benishouga/DefinitelyTyped,georgemarshall/DefinitelyTyped,isman-usoh/DefinitelyTyped,benishouga/DefinitelyTyped,ashwinr/DefinitelyTyped,magny/DefinitelyTyped,rolandzwaga/DefinitelyTyped,laurentiustamate94/DefinitelyTyped,zuzusik/DefinitelyTyped,arusakov/DefinitelyTyped,mcliment/DefinitelyTyped,AbraaoAlves/DefinitelyTyped,alexdresko/DefinitelyTyped,nycdotnet/DefinitelyTyped,isman-usoh/DefinitelyTyped