Use standard defines for exit statuses
Use pre-defined constants for exit status
Capture the exit status of the sub-shell

This resolves issue 4 where the sub-shell would exit with a non-zero
status and the parent process would still exit with a zero exit status
preventing callers from knowing if the process completed successfully.
Remove debugging
Exclude getopt.c from cppchecking
Correct errors style errors found by cppcheck
Correct perror to be for forkpty rather than just fork
Merge branch 'issue.4.exit-status'