Using a shutdown function rather than a destructor to terminate the test...

Using register_shutdown_function rather than relying on __destruct to terminate the test server because it is more reliable than __destruct.