Create zygote start latch on demand

Since only one set of zygotes can be started at a time, this means
- We only need one.
- Repeatedly stopping and restarting daemons, as the zygote does,
  behaves as expected.
- Nested zygotes work correctly.
- The code is simpler.

It's unclear this actually fixes important misbehavior, but it
makes the code much less confusing and misleading.

Test: Build and boot AOSP
Bug: 314851321
Change-Id: If4915b86a83630ba9aaed3947ecfc85e1211f267
1 file changed