one scheduler algorithm (as might be defined in a paper). 
If schedulers share similar functionalities, we can make use of the #Copied from mechanism.
Schedulers all inherit from SchedulerMixin and ConfigMixin.
Schedulers can be easily swapped out with the ConfigMixin.from_config method as explained in detail here.
Every scheduler has to have a set_num_inference_steps, and a step function. set_num_inference_steps(...) has to be called before ev