Fixes message reordering issue in Atomic Broadcast

Messages that created new messages caused a message reordering
 issue that can really screw things up. This deals with that by
 replacing the single queue with two stacks that are cleverly
 bounced back and forth to get the correct ordering.
Adds a test for this condition

Authored by Rickard Oberg