Batch publication on ring buffer (Take2)

Hi Mike,

I've added batchSize and batchStartsAt parameters to handle the buffer size problem and to cope with the senario where your buffer is larger than you want to submit at any one time. i.e. your incoming buffer is 10 elements and your ring only has 8 slots. (A problem a tripped over in one of our test scenarios).