Consider segment incomplete if segment file is empty or too small

This fixes an IOError that could be raised when trying to seek() to a negative file offset,
if (for any reason) a segment file was empty (or too small).