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
check each subpart of a path during `mkdir` and specially deal with symlink subpart
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.
Fix wrong behavior for brk.

The system call was written for the glibc interface not linux.
On error from pfs_process_raise, divert_to_dummy.
break_address can be 32 bits.

Small amendment to 20eb4f2ea4641b9c553b3ac8abefeabfd2ab5327.