get reference as seq bytes from mdtag

Current to get the reference base at some position in the read we need  to
- Convert the sequence to a string
- Parse the mdTag to get the reference bases as a string
- Convert the reference bases to a Seq[Byte]

This also meant we kept the string representations of the reference and sequence when they were not needed.  This bypasses that and create a Seq[Byte] reference directly from a Seq[Byte] sequence.

The spire dependency is to build an Array that wille be an Array[byte] as opposed to Array[java.lang.Byte] which is what you get when using scala.mutable.ArrayBuffer and is much larger.