Remove redundant dependency between process exits

In order to catch the races in the tests affected by this commit an ugly hack
was used to mark a dependency between processes exiting so as to not miss
messages. This has now be removed.
Simplify message dependency detection code and add one more test
Catch one more dependency between trap_exit and send