forked from Silverfish/proton-bridge
Add `OrderedCancelGroup` type to enforce the cancellation of go routines in a reverse order. Additionally this type waits for the go-routine to finish before proceeding to the next one. We need this to guarantee that all the user services shut down properly without deadlocking.