Letting .c files include their "own" header file guarantees that the
declaration in the header file stays in sync with the definition.
Eventually we may even enable gcc's -Wmissing-declarations, but
we're not there yet, mainly due to command handlers, init functions
and completers.
Note that including signal.h in signal.c required two other includes
since the header file defines a task structure.