IndexedVariantReader/Iterator

Iterates through an indexed BCF based on the intervals passed to it.

Heavily based on Khalid's IndexedSamReader/Iterator.

Delivers #160 for BCF
created #195