score: Add Resource Handler

A resource is something that has at most one owner at a time and may
have multiple rivals in case an owner is present.  The owner and rivals
are impersonated via resource nodes.  A resource is represented via the
resource control structure.  The resource controls and nodes are
organized as trees.  It is possible to detect deadlocks via such a
resource tree.  The _Resource_Iterate() function can be used to iterate
through such a resource tree starting at a top node.
score: Add and use _Thread_Owns_resources()
score: Add resource node to thread control block
score: Use Resource Handler for MrsP semaphores

This enables proper resource dependency tracking and as a side-effect
deadlock detection.
smptests/smpmrsp01: Fix scheduler ids
smptests/smpthreadlife01: Fix for debug enabled
libblock: Avoid recursive mutex
score/sparc: Add support for paravirtualization

Guest systems in paravirtualization environments run usually in user
mode.  Thus it is not possible to directly access the PSR and TBR
registers.  Use functions instead of inline assembler to access these
registers if RTEMS_PARAVIRT is defined.