Allow manual flushing of a batcher with flushBatch method

Implements part of a TODO item listed in comments in BatchExecutor.scala

Future.batched now returns an instance of class Batcher, which has the added method flushBatch to allow manual flushing/execution of remaining items in the batcher.
since this is already synchronized in the BatchExecutor, not sure you have to do this too.