Added enum PartitionStrategy to easy the access to the different
PartitionFactory instances and renamed existing Partition
implementations to start implementing nonpooled variants.
Extracted similar functionality to Abstract superclasses
Added inheritance step for pooled partitions
Moved ByteBufferPartitionSlice out of the ByteBufferPooledPartition
class to not duplicate codebase for unpooled variant
Added basic unpooled version of ByteBuffer partition implementation
Moved UnsafePartitionSlice to it's own classfile for preventing code
duplication on implementing unpooled unsafe backed Partition
implementation
Renamed logger
Made readerIndex and writerIndex volatile to give fields visibility on
different threads, no atomically behaviour for reads / writes is given.
Added constructor overloads to handle new enum PartitionStrategy
Added unsafe based unpooled implementation of Partition and extracted
methods for both unpooled implementations to AbstractUnpooledPartition
class