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.
Remove band-aid to wake stopped threads.
Modified http_query to use domain_name_cache_lookup.
May help with DNS load issues in HEP.
Modified http_query to use DNS cache.

* ccl/pull/484/head:
  Modified http_query to use domain_name_cache_lookup. May help with DNS load issues in HEP.
Fix incorrect malloc.
Change memcpy to memmove in string_split_quotes

String destinations may overlap. Per Peter Bui from man pages, memmove
allows overlap, and memcpy does not.
Merge branch 'parse_leak'

Fix for Makeflow Parsing Error (#483)
Fixes a boundary case where the WQ master can get stuck if there
are only finished tasks to retrieve and nothing else happening in the system.
Replaced boilerplate.
Merge pull request #485 from dthain/master

Fix Work Queue hang when there are only finished tasks to retrieve.
change names of create_mountlist env_process parrot_pack
create_mountlist becomes parrot_package_run;
env_process becomes parrot_package_env;
parrot_pack becomes parrot_package_create.
unify parameters of parrot_package_*; add more functions into parrot_package_run
change the preservation solution of environment variables
add --env-list parameter to parrot_run
change env-path parameter of parrot_package_create to env-list
remove 'parrot_package_env', merge its function into parrot_package_run.
add existence test of env-list and name-list parameters
add short versions for --name-list and --envlist parameters of parrot_run
add parameter exsitence check for parrot_package_run
adjust the location of time log of parrot_package_create