Single-Machine Scheduling Problems with Generalized Preemption