Fix for message reordering

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.