Add new daemonisation code to handle cleaning up daemons better
Add read_until_timeout method, to read from a named pipe without blocking tests