cl/403965216: Fix race in ApiTest.SchedAffinityRace.
cl/403965216: Fix race in ApiTest.SchedAffinityRace.

This is not a new race but is very reliably triggered with cl/402677877

The proximate cause is that opening /proc/self/ghost/gtid (in cl/402677877)
causes the task to block when exiting (the blocking itself is unremarkable
except that it exposed a race in our test):

task/2057/stack:[<0>] context_switch+0x7c/0xc0
task/2057/stack:[<0>] d_invalidate+0x6a/0x110
task/2057/stack:[<0>] proc_flush_task+0xc6/0x1b0
task/2057/stack:[<0>] release_task+0x3d/0x520
task/2057/stack:[<0>] do_exit+0x82f/0x9a0
task/2057/stack:[<0>] SyS_exit+0x14/0x20
task/2057/stack:[<0>] do_syscall_64+0x71/0x100
task/2057/stack:[<0>] entry_SYSCALL_64_after_hwframe+0x41/0xa6
task/2057/stack:[<0>] 0xffffffffffffffff

This in turn exposed a race in how SchedAffinityAgent schedules task
after observing Finished(). Prior to this change it would try to
schedule the task on remote cpus even after observing Finished().
This is problematic because the satellite agents themselves could
have observed Finished() and exited.

We fix this by always scheduling on the local agent after observing
Finished().

Reported by: hannahpan@

TESTED:
$ api_test --gunit_filter=ApiTest.SchedAffinityRace with cl/402677877
Prior to this change the test would reliably hang.

google/ghost-userspace,google/ghost-userspace,google/ghost-userspace,google/ghost-userspace