wip-442: Refactored batch creation mechanism

- moved batch creation logic to a separate class
- changed the mechanism of calculating batch size in bytes
- added test suite for BatchMaker
wip-442: Added routing key computation and setting it on bound statements
wip-442: Created PriorityQueueWithUplifting with tests
wip-442: Created QueuedHashMap with tests
wip-442: Created BatchLevel enumeration to distinguish different ways of grouping batches; added to WriteConf and updated API
wip-442: Created a new batch creation mechanism which is able to buffer batches with different keys in a priority queue
wip-442: Added a test suite for the new batches builder