rlmesh_env_server_shutdown
timeout is seconds (NULL = no deadline). A stopped server sets out_stopped true even when returning its background serve error, which is returned once. Timeout expiry sets false; misuse and invalid inputs leave it untouched.
RLMeshStatus rlmesh_env_server_shutdown(RLMeshEnvServer* env_server)