case-class-ify MateProperties

- put an optional instance in each of {Un,}MappedRead
  - it is Some() iff former isPaired boolean would have been true
- give it its own ser/deser classes, called by *MappedReads'