Rework the timeout of the CGI script.
The previous implementation was fine to catch timeout of third-party tools (like dot), but to good to catch timeout in Spot itself, because Python will not deliver a SIGALRM while a native function (e.g. Spot's translation) is running. So we fork() the Python process, with a parent that does nothing but wait for the termination of the child or for an alarm. On SIGALRM, the parent kills all children. * wrap/python/ajax/spot.in: Adjust to fork. * wrap/python/tests/alarm.py: New test file to test this scenario in a more controled environment. * wrap/python/tests/Makefile.am: Add it.