Two ways to access reference bases

ReferenceMap (copied from Foghorn) copies the whole reference into memory and stores it in a map.

ReferenceIterator copies one chromosome into memory at a time, which must be accessed in order.
Why return the single char by reference here instead of by value? The overhead of an implicit dereference per reference base seems a waste