Make a couple of `Read` getters return `Option`s rather than throwing

A first attempt at adding type safety to some fields we have laying around that threaten to throw exceptions unnecessarily.

In this case: `isMapped`/`getMappedRead` and `getSequencedSingleBase`
maybe add a quick comment here explaining what's going on? i.e. that serializers for the concrete types like UnmappedRead will include this trait to serialize the mate properties