Restore quality values as an intermediate step

In order to allow quality values to be pre-parsed and concatenated, the
Quality API is re-exposed as parseQuality and match/mapQuality. Quality
is still an opaque type.