Implemenation of a Batcher API

This is a pass at flushing out an API and implemenation for #107.
I think that having a create() no-arg method, and utilizing the builder functions to specify the parameters (time/size). Though I do see the point of having these create methods to make sure there is no way to build a BatcherBuilder without parameters set.