using hash table to de-duplicate namelist
add stderr redirection to system function
move special caller checking procedure from pfs_package_create.c into pfs_table.cc
add -Wall -pg into configure
hardcode copy degree
modify comments about special_caller
check the state of namelist_table instread of namelist_file
add test specification and notes for packaging utility
let parrot_package_create be responsible for `sort -u special_files`

allow chroot_package_run and package_package_run both have the right to sort the special_files has side effect:
the sorted special_files of chroot_package_run can not be accessed by parrot_package_run.
remove -Wall -pg from configure
Do not hook exit, use PTRACE_O_TRACEEXIT.
check each subpart of a path during `mkdir` and specially deal with symlink subpart
Do not hook exit, use PTRACE_O_TRACEEXIT.

* parrot-exit:
  Do not hook exit, use PTRACE_O_TRACEEXIT.
Don't "stop" the process on group-stop.

This is (again) a finish state not "stop" state...

Introduced in e20cd1037c48cecff985f27c21908f5447a53cb4.
Check for successful connect.

Fixes segmentation fault.
Don't allow kernel to raise execve failure.

This is a partial revert of 7a43226fb1628f02650d6d6209cbf488c10cae22.

A bug was found by Haiyan when running the Parrot package run utility where
execve would wrongly succeed. The reason was Parrot would not be able to find a
"/bin/which" executable under its mounted directory (--mount=/=$pkg) but the
kernel *does* find "/bin/which" in the system's root.

This commit goes back to using divert_to_dummy but adds a check to decode_execve
for a "dummy return" so it doesn't try to mess with the result.
Use INT64_T for large file sizes.

Caused the client to return an error on success ~3GB files.
Fix errors found with -Wconversion.
Buffer length should always use size_t.
Fix some errors found by -Wconversion.