Executes runs the closure in a new mount namespace.
NOTE: The caller should not call runtime.UnlockOSThread or fork any new
goroutines, because it's risk. The thread in the new mount namespace should
be cleanup by Go runtime when it exits without unlock OS thread.