Multilevel buffer II

Here are some enhancements to the original submission based on some of the feedback from Kirk. 

Added two stage validate interval. Faster at startup slower cycle once buffer is stable.
Fixed init issue race condition in buffer extension
Added delay back into the shouldBufferMore decision.

I did not rebase on development since there are a lot of changes that would make this request much more complicated.  But I did do this locally and found some conflicts with the multiperiod code addition that are easy to resolve. In fact, the multiperiod code changes makes the multilevel buffer work even better. I would like to merge that code but not sure what route to take with that.