Fixed several memory leaks.
Prefix command without any parameter (to list the prefixes) would cause
memory corruption when prefix had been invoked previously with a parameter.
Sourcing a command file from within an exec file could cause gsh to
wait forever, depending upon the commands executed in the sourced file.
All built-in commands return appropriate status: 1 for error, 0 for no error.
Fixed several cases where incorrect value was set in $status.
Added usage strings for tset, hash, commands, and history.
Fixed memory corruption error when edit command had no parameters.
When system() is called with pointer = NULL or with a command string that
causes gsh to detect an error (e.g., incompatibility with | and <), return
status of -1. In other cases, return process's status rather than always 0.
System would crash when output from a non-forked command was piped to
another process; for example clear | cat > /tmp/list