added interface for pluggable ops

this change will allow alternate impls of low-level ops
logging versions, fdatasync optimized versions, etc
Closes #6