servicemanager: fix lazy service issues

Most of the issues here occured in a single thread, and
they were due to inconsistent state in the state machine
around clients, and it appears there were a lot of other
things added which papered over these issues.

I've marked explanations in more detail in the code
itself.

Bug: 264814573
Test: aidl_lazy_test in a loop at 500x speed by
    adjusting timings, running for an hour

Change-Id: Ifa20a7214839a91543413d3c4ee2b0a24e0c3751
2 files changed