Remove the get_op_stats

Decided to let some other module to keep the stats
Rename data source to data reader
A fast thread-safe queue

A queue that can minimize the read/write contention by having a
background loading thread keeps reading a batch of items for readers.

If there are still available items in current active batch, readers
pick the top item simply by increment the current cursor. if all
items are read, the "backup" batch will become active and the
background will be notified and continue the "preloading" process.

Note: The code is convoluted now. If possbile I will further improve
the code readablility.