Fixed progress property

Obtaining firstBlank using Math.min on two indexOf's was a flawed idea, since it disregarded the possibility of one of these being -1. In this case, for example, if there are no reserved pieces but the buffer is all blank ones, it would regard the piece as fully downloaded.