Handle syscall-stop, exec-stop and group-stop.

-- syscall-stop --

We now unconditionally set the ptrace option PTRACE_O_TRACESYSGOOD. This
simplifies detection of a syscall-stop. Support for this was added in 2.4.6.

-- exec-stop --

exec-stop is introduced in Linux 2.5.46 and is turned on use ptrace option
PTRACE_O_TRACEEXEC. Using this option turns off the redundant third SIGTRAP for
execve. Requiring this option sets a hard dependency in Parrot for 2.5.46+
kernels.

We still do not handle the case where a thread which is *not* the thread-leader
(i.e. thread ID == thread group ID == process ID). How it should work is
documented pretty well in the ptrace man page but looks complicated to support.

-- group-stop --

This branch uses PTRACE_SEIZE (for Linux 3.4.0+) to enable handling group-stop.

When a thread enters group-stop, we move it to the new PFS_PROCESS_STOP_STATE.
It is necessary to distinguish this from PFS_PROCESS_USER_STATE because a
parent calling wait with WUNTRACED only gets the stopped child *if it is still
stopped*:

    WUNTRACED   The  status  of  any  child  processes  specified  by pid that
                are stopped, and whose status has not yet been reported since
                they stopped, shall also be reported to the requesting process.

compare to WCONTINUED:

    WCONTINUED  The  waitpid()  function  shall  report the status of any
                continued child process specified by pid whose status has not
                been reported since it continued from a job control stop.

so, a process which has received SIGCONT will notify the parent no matter what
its current state is.

In addition to handling group-stop, we also correctly notify parents if the
child has been continued.

Fixes #330.

Maybe addresses #270.
FIX: trailing whitespace
use std::list<> instead of next ptr
detect legacy libcvmfs version
add cvmfs_context* to cvmfs_filesystem struct
refactor cvmfs_activate_filesystem() sanity checks
FIX: indentation
reuse previously attached repos
add compatibility wrappers for cvmfs functions
use compatibility wrappers
add --cvmfs-config=<> to parrot arguments
FIX: include libcvmfs.h as a library
read global cvmfs configuration
remove useless warning
Exit successfully for --help.

This is useful for Autobuild checking the presence of options without
side-effects.

./configure --debug --help --> 0
./configure --foo --help --> 1
Add section on debugging.
ensure parrot_package_run support any command
ensure chroot_package_run support any command
modify doc for chroot_package_run and parrot_package_run
let both of them can run any preserved command directly
Merge branch 'parrot-stop-state' of github.com:batrick/cctools into batrick-parrot-stop-state

Conflicts:
	parrot/src/pfs_main.cc
	parrot/src/pfs_process.h