Add task_cleanup() to scheduler plugin interface
Force LITMUS^RT tasks to become regular Linux tasks before exiting

This reduces the number of ways in which a real-time task can exit to
one (via sched_setscheduler), which makes it easier to avoid nasty
corner cases.
Reimplement sporadic release support

The way the synchronous release code used to set up sporadic releases
is racy. This patch changes the implementation to postpone the
fiddling with the ->release parameter until prepare_for_next_period(),
which is called with the appropriate plugin-specific locks held.
Remove dont_requeue flag

The flag was a hack that never really worked. It shortened the race
window, but didn't close it. With the new sporadic release support, it
should now be superfluous.
Make LITMUS^RT the highest-priority scheduling class again

The existing LITMUS^RT code assumes that it is called as the
highest-priority scheduling class (this was true before stock Linux
gained stop_sched_class). The port to 3.10 changed this, which can
result in rare crashes. This patch makes LITMUS^RT the top scheduling
class again.

Having higher priority than stop_sched_class makes no real sense, but
this was the case in 3.0 also and is required for the existing code to
work correctly.