Keep next_process, connection, etc. in ProcessManager instead
of SteamOSManager.
Also change exit_code to only give the exit code if known.
Added wait to do the wait and get the proper
exit code on completion.
Also added libc::pid_t use in process.rs.
Keep track of whether we paused or resumed processes.
Don't try to wait for a paused process when exit_code() is called.
Make sure pause/resume work as expected, and error when expected.
In order to be able to pause/resume/cancel some operations
that could take some time we need to keep track of those processes
and give callers an id to pause/resume/cancel them with later.
In these long running cases, return an object path that can be used
to pause/resume/cancel when told to.
TODO:
- Add some tests and manually test that the right things happen