Reduce umtx-related work on exec and exit
- there is no need to take the process lock to iterate the thread list after single-threading is enforced
- typically there are no mutexes to clean up (testable without taking the global umtx lock)
- typically there is no need to adjust the priority (testable without taking thread lock)
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D20160