Alternative fragment proposal - read field reorganization

This is an alternative proposal to #47 and #38 which takes smaller baby steps towards cleaning up mates/fragments.

This proposal is trying to be implementor-friendly, by keeping the fields on a read aligned with what's available in a BAM read (thus the removal of the mate cigar and mappingQuality fields) and removing the concept of read IDs (in favor of the contig/position lookup that is in common practice right now, closing #18) while still supporting more than 1 mate.

I'm sure we can further cleanup the read flag booleans and other comments, but I wanted to see what people thought about this overall direction.