server: Redesign the server shutdown processing.

System processes are now killed only after the server persistence
delay has expired. New processes are not allowed to start during
shutdown.
diff --git a/server/request.h b/server/request.h
index 6c5f146..3f035db 100644
--- a/server/request.h
+++ b/server/request.h
@@ -57,7 +57,7 @@
 extern void write_reply( struct thread *thread );
 extern unsigned int get_tick_count(void);
 extern void open_master_socket(void);
-extern void close_master_socket(void);
+extern void close_master_socket( timeout_t timeout );
 extern void shutdown_master_socket(void);
 extern int wait_for_lock(void);
 extern int kill_lock_owner( int sig );