Add reallocate to ByteBuffer class.

Add reallocate method to ByteBuffer class.
Split data_dumper into homo_reader and homo_writer, and reorganize class naming.

Change class name from DataDumper and DataReader to HomoWriter and HomoReader.
Rename method names.
Split data_dumper into homo_reader and homo_writer.
Add copy constructor and assignment operator to class ByteBuffer.

Add copy constructor and assignment operator to class ByteBuffer.
Remove duplicate().
Add std::string conversion to ByteBuffer.
Add two memory operation templated functions to byte_buffer.hpp.

Add template write_object for writing objects.
Add template read_object for reading objects.