new index reader

The new index reader should be able to read both BAI and CSI index
files and makes a more capable index structure out them.  Functions
using the index have a more useful type now.  Needs testing and a
function to actually extract regions from indexed files.