[runtime] Fixed shutdown crasher in mono_thread_pool_cleanup.

We call `mono_thread_pool_cleanup` twice from `mono_runtime_try_shutdown` and later `mono_domain_finalize`, which meant we tried to destroy the semaphore twice and that caused a crasher.

Fix this by clearing out the semaphore pointer. That way when we try to destroy it again it's already null and execution continues just fine.