Recover stdout and stderr from spawned backend process.

We used to ignore stdout and sterr from backend processes. This results in
useless error messages when a backend process fails. This patch prints stdout
and sterr from the backend process.
(cherry picked from commit 358b5dd8af1d8b4f170c56e2e5fa47b595db1bf3)
The addition of a pipe to Spawn.c needs some more work.

I have disabled all new code for now.
(cherry picked from commit f96df7346c3adafc9a0fc422eee9d74a882ac58f)
Rearranged testing for exit status of spawned process.

This hopefully will lead to more informative error messages from the backend.
(cherry picked from commit 611c4bf5d1a10313a9663a48cbc0f324ee4f9df8)
Added some more information in the error message.
(cherry picked from commit 4ac46a67ad1585c78f995ebde8bffcde0163669b)
Fixed usage of WEXITCODE() in Spawn.c
(cherry picked from commit 61642d5479b0b45691fb5136e0900d054eed1f5d)
Fix for WCOREDUMP macro in Spawn.c

Not all Unixes define this macro, and a proper ifdef is necessary.
(cherry picked from commit 0b8eb65a0122a109d189203cde4924f684eb1c41)
Fixed some compiler warnings.
(cherry picked from commit 6813783d73857cd80ae87f815890f74734c56ffb)
Updated bibtex reference for FreeON.
(cherry picked from commit d5b2a4078db4e5d07955cee49c1497565e68e70d)
Updated bibtex information.
Reference.
(cherry picked from commit 13a692c1704b2eef0160498cad00c9a821fe25c3)