Fix problems that caused segfaults with a large numbers of
concurrent connections for non-threaded exonerate-server
(configure --disable-pthreads) in exonerate 2.2.0:

* printf() is not async-signal safe, so it's almost certain
  that g_message() cannot be safely called from a signal
  handler.
* use sigaction() with SA_RESTART instead of reinstalling
  signal handler with signal() to avoid race condition that
  occurs when two signals are received in rapid succession
  on Solaris & other Unix (Linux signal() automatically
  reinstalls the original signal handler after a signal is
  caught, but this is not portable behavior).
* On Solaris, and unlike Linux or BSD, accept() does not
  automatically restart after it's been interrupted by a
  signal; rather, it exits with EINTR.