Use of newer java data structures to cleanup code and improve concurrency understanding/guarantees
Created by: shroffk
The com.cosylab.epics.caj.util.ArrayFIFO
can be replaced by one of the many concurrent queue implementations available in the java.util.concurrent package.
The com.cosylab.epics.caj.util.Heap
can be replaced by https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html