ScopedIPCSupport has two separate and subtly different implementations:
mojo::edk::test::ScopedIPCSupport for test-only use, and
mojo::edk::ScopedIPCSupport for general-purpose use.
This unifies them into a much simpler general-purpose ScopedIPCSupport
implementation suitable for all practical environments.
Also removes mojo::edk::ProcessDelegate, as it is abstraction overkill.
Instead of InitIPCSupport taking a ProcessDelegate which goes unused
until shutdown, ShutdownIPCSupport now simply takes a callback to be run