doshell: clean up signal handler warning.

When restoring the signal handlers, the code saved the old
handler which was just a pointer to SIG_IGN. It did nothing
with that value. This was causing a warning with clang, so
the useless assignment is being removed.

Future work: check the return code for all calls to signal().
doshell: give childstatus a default value.

clang was warning that childstatus may have a garbage value
if wait() fails or something, so we initialize it.
doshell: check name for NULL.

The name variable was being used without first checking if it was
NULL. This patch corrects that clang warning.
fixscreen: initialize wline[]

All of the elements of wline[] were not unconditionally initialized.
clang suggested that maybe there could be an instance were wline[]
could be used in a conditional uninitialized. The function has a
high cyclomatic complexity, so this patch just initializes wline[]
to 0 at the beginning of the function just in case the element
used in the comparison could be used uninitialized.
doshell: ensure new_command[] is initialized.

It's unclear if it would happen in practice, but clang thinks there
is a chance that new_command[] could be used uninitialized in a
comparison, so this patch initializes new_command[]. It also adds
a check to ensure j is valid (>0) when doing new_command[j-1].
TODO: add 'more test cases' to TODO list.