use emplace_back constructor for shard file.
added slab_allocator. the slab allocator gives slabs of memory represented in a growing file.
ability to specify start offset for slab_allocator.
added disk_array, represents fixed length on-disk array.
slab_allocator::sync()