LITMUS^RT: new API for enabling/disabling plugin switches

Some code sections may want to rule out concurrent plugin switches.
This patch adds a simple API that allows blocking inopportune plugin
switches.
Move domain intialization to non-atomic part of plugin switching path

The procfs library functions make allocations with GFP_KERNEL, which
is not permitted if we call them from atomic contexts (i.e., from
within a stop_machine callback).

This patch moves the activation and deactivation of the scheduling
domain procfs integration before and after the call to stop_machine().
The activation is still serialized with regard to concurrent switching
attempts due to the plugin_switch mutex.
Implement the DFLP

This patch adds an implementation of the Distributed FIFO Locking
Protocol to the P-FP plugin. True to its origin, it's cobbled together
from parts of the DPCP and the FMLP+ implementation.
P-FP: Backport nesting check from DPCP to DFLP

Disallow nesting of global critical sections.