SMPI: enforce MPI message ordering. Fix #100 (hopefully)
This adds an id for each message, representing the amount of messages sent from one process to another with the same tag.
On receiver side, the number of received messages from each source/tag must be kept the same way and is compared to the message id.
If the count is not identical, the message is early and overtook another message, so don't match with it yet.
Hopefully this does not cause too much memory overhead, but it can be quite a lot in some cases.
todo: cleanup the way probes are handled