Make argument to split_generator_args() const

The string was never modified to begin with, adding const to the
function signature allows callers to rely on this.
Client: Make variables and function arguments const where possible

No functional changes, but this should help with preventing programming
mistakes.
Common functions: Make arguments const where possible
Server: Change type of work loop variable to volatile sig_atomic_t

Qualifying the variable as volatile is necessary to make sure compiler
optimizations don't cause trouble (endless loop). The change to
sig_atomic_t is not strictly necessary as it is identical to int under
glibc [1], but better in terms of style and portability.

[1] https://www.gnu.org/software/libc/manual/html_node/Atomic-Types.html
Server: Avoid small, unnecessary memory allocation

Only 3 chars were allocated for time_trans, but never written because
the pointer is changed to point to a static value. Thus remove the
allocation.
Server: Make variables and function arguments const where possible