When multiple CPUs try to start the same CPU only one should return
success, the other CPUs should see either ON_PENDING or ALREADY_ON.
There was a race between checking if the CPU is on and marking it as
on in the running_cpumask CPU set.
Fix the race by using CPU_TEST_SET_ATOMIC to both check and set the
state in running_cpumask.
Sponsored by: Arm Ltd