liblitmus/bin: Use inttypes.h macros for 64-bit integer printing

Fixed build on ARMv7

Signed-off-by: Roy Spliet <rspliet@mpi-sws.org>
liblitmus: Add Doxygen documentation for public APIs
Hook up doxygen as 'make doc'

Also adjust 'make clean' and .gitignore.
Use /proc/litmus/domains to set up affinity masks

This patch replaces the algorithm used to compute CPU affinity masks.
The old algorithm was fragile and would break on systems with multiple
levels of shared caches. (As found on some older Intel chips, and as
one would probably find on a system with hyper-threading enabled.) The
bug stems from fact that Linux enumerates consecutive CPUs in a way
that distributes them across the physical system, thereby reducing
contention resources (e.g., cache).

Cluster size no longer needs to be provided now that cluster/CPU
mappings are explicit in /proc/litmus/domains/.

This keeps the following migration functions, but marks them as
deprecated:
  - be_migrate_to_cluster()
  - cluster_to_first_cpu()
  - partition_to_cpu()

Although the deprecated interfaces are supported, the implementations
for these functions call the new be_migrate_to_domain() and
domain_to_first_cpu() functions.

[bbb: resolved several merge conflicts]
liblitmus/tests: Add PCP-DPCP interleaving test
Add test cases for exiting/mode-changing lock holders

This crashes old versions of the kernel. Kernel patches fixing the
various panics have been merged into the kernel staging tree.
Add missing default param initialization

Make sure new default parameters such as the deadline are taken care
of in the old task creation routines. This fixes a problem with
rt_launch.
Add support for the DFLP

Just add the ID and symbol.
Add add convenience wrapper and tests for the DFLP
Remove invalid CPU parameter test

The LITMUS^RT was changed to no longer test for "invalid" CPU
paramters to allow reuse of the CPU parameter to denote virtual CPUs,
reservations, etc.

This patch removes the corresponding test.