Reorganize read fields

- Adds a new object: MateId (just contig and position), which represents the info needed to look up the mate of a Read. This maps 1-1 to the BAM fields available.

- Moves the fields that come from fragments all together, and document that they are the same for all Reads from the same fragment.

- firstOfPair and secondOfPair booleans are replaced by the mateIndex field

- readPaired boolean removed in favor of mateIds.length > 1