getPos is used by the caller to know when the processing of the current
InputSplit is complete. In this method, as we read each bzip block,
we keep returning the beginning of the InputSplit as the return
value until we hit a block which starts at a position >= end of current
split. At that point we should set up retpos such that after a record is
read, future getPos() calls will get a value > end of current split - this
way we will read only one record out of that bzip block - the rest of the
records from that bzip block should be read by the next map task while
processing the next split