Replace TestKit queue with one that allows positioning of elements

The new BlockingQueue has a BlockingCollection with a custom made LinkedList queue as underlying storage. Elements are wrapped in an object that contains positioning info, and the underlying LinkedList queue uses that info to add the item first or last.