implement a ring queue

Link: https://github.com/GeneAssembly/biosal/issues/295
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>