Make release_ts a bit more userfriendly

The -f option required manually *also* setting
the -w option. This is no longer required.

While at it, simplify the code by using the /proc interface.
rt_launch: add support for -q <priority>

This mirrors the option in rtspin.
Add tests for PCP/SRP ceiling blocking

Context: priority inheritance triggered a BUG_ON() in fp_common.c.
While at it, add a similar test for the SRP.
Include PID info in test failures

Useful for correlating test failures to events in traces.
Add basic locking support to rtspin

This is useful for testing locking protocol implementations (not
intended for benchmarking!), and also serves to document how to use
the LITMUS^RT locking API.
Add test cases that check whether nesting is prohibited

The kernel should deny attempts to nest resources in ways that are not
supported.
uncachedev: uncache test tool.

This adds the uncache test tool (bin/uncache.c). The tool
can be used to test Litmus's char device driver for allocating
uncacheable CPU memory. The tool runs various checks and
gathers basic cache vs. main memory statistics.

In the future, uncache could be extended to quantify the
benefits of the L1, L2, and L3 caches, instead of treating
them as a black box.

Note: Uncache works best when compiled with '-O2'.  While '-O2'
has not been added to the Makefile, other code was updated (code
in tests/ and rtspin), to compile with -O2.

DEPENDS UPON LITMUS-RT PATCH 888d097deb6d1fdc0c89a4f9667fd81cf416cfc7.
Make github/staging complatible with -O2.

Minor changes to test case code to enable compilation
with 'gcc -O2' (gcc v4.7.2).
Auto-CPU-affinity from part./cluster assignment.

This patch replaces be_migrate_to() with several
be_migrate_*() APIs to automatically assign CPU affinity
masks from a task's partition (or cluster) assignment.
Routines are release-master-aware such that the release
master (if one exists) will NOT be included in the
task's affinity mask. (Note that release-master
avoidance may be overridden by calling
__be_migrate_thread_to_cluster().)
Cluster-aware rtspin and rt_launch.

This patch adds cluster scheduling options to
rtspin and rt_launch. The convenience routines
in litmus.h were also updated to facilitate
clustered scheduling. For partitioned scheduling,
just set cluster_size = 1 (default size for rtspin
and rt_launch).
Add init_rt_task_param().

Adds init_rt_task_param(). Facilitates setting up default
real-time task attributes that cannot be set by memset(0).
Change convenience API routines.

The sproadic_*() macros have become unwieldy. This patch
replaces those convenience macros for global, clustered,
and partitioned scheduling. A part of this API change
is the explicit use of nanosecond time-values. Prior APIs
have used lt_t (litmus time), which had an implied time
scale of nanoseconds.

/bin apps and test suite also updated to use revised API.
Modifications to the test suite are mostly centered around
using nanoseconds instead of milliseconds.
Fix compile failure related to aliasing (gcc 4.4.5)

My version of gcc would complain about "dereferencing pointer does
break strict-aliasing rules" because of a (harmless) pointer cast.

This patch adds a helper void pointer to make the assignment explicit,
which avoids the cast and hence silences the warning.
Update constat SPORADIC->TASK_SPORADIC

A recent patch changed the name of the constant in the kernel. Update
liblitmus accordingly.