Fix custom phred offset range

Also add printable ASCII range checking. @ebolyen and I worked on this.
Enforce quality scores are nonnegative
SAD: fix coverage in py3 fasta tests

Was exhausting map iterators... thanks @ebolyen
Merge pull request #723 from jairideout/negative-quality-scores

Enforce nonnegative quality scores