MB-7992: Fix race in get stats code path

If we check to see that the a stat is not zero and then there is
a context switch and the stats are reset then we can potentially
crash since because we might divide by zero. This change makes it
so that this isn't possible.

Change-Id: Icb0bf4864538823e3cd71749ecff7e3aad8ab220
Add new iomanager and move rwdispatcher

Change-Id: Iccaa2c027cdb9abdd6c580973f94ee6d254ef035
Move roDispatcher to IOManager

Change-Id: I7a450460d7ef8479f223b14c76a49cf409251288
IOManager is held in a global variable

Change-Id: Ibfb6fb51e01b8304124bd1b79a7a82436af2249f
Allow specification of threads in IOManager ctor

Change-Id: Iea61c4c22b6cfe18cba1a574cca174a4b60a3165