OPENDJ-1472 : File based changelog : optimize random seek in each log file
CR-3727
Implements read and write with blocks, to enable binary search.
* New BlockLogReader class: read records sequentially or using
binary search provided a key
* New BlockLogWriter class: write records by blocks
* New BlockLogReaderWriterTest class : tests read/write with blocks
* Update LogFile : delegate responsibility for read/write to BlockLogXXX
* Add method ByteStringBuilder#append(DataInput, int) to avoid
byte array copy
* Minor changes in other files