added kill signal handler to shut down the solver cleanly. This is useful when serializing solutions of large problems that cannot be solved to optimality in reasonable time