PCP: allow NULL config parameter

When the config parameter is NULL, just default to the local CPU,
which is what we want in 99% of the cases anyway.
Disallow nesting of LITMUS^RT locks

Nesting of locks was never supported in LITMUS^RT since
the required analysis does not exist anyway. That is, as
defined in the literature, the protocols implemented
in LITMUS^RT have not been studied in conjunction with
nested critical sections.

In LITMUS^RT, attempting to nest locks could lead to
silent or not-so-silent bugs. This patch makes this
restriction explicit and returns EBUSY when a process
attempts to nest resources.

This is enforced on a protocol-by-protocol basis,
which means that adding protocols with support for
nesting in future versions is not affected by this
change.

Exception: PCP and SRP resources may be nested,
but not within global critical sections.