index_block: get rid of index range tree, use bsearch() to find given range in index_blocks array
interator: initial range iterator implementation. Caller can provide array of ranges to scan and if we have sorted index for given base_ctl, we can skip indexes to index blocks which contain our needed keys.
init: get rid of internal random generator initialization. When starting multiple backend in parallel this ends up with the same random numbers, since time(NULL) is coarse enough.
iterate: do not set range index outside of eblob_fill_range_offsets(), it should set it correctly. Including negative value if index is not sorted
iterate: check locally ranges and found keys, skip those keys which do not fit ranges. Check and update index_offset at the beginning of the loop to allow processing of the just read data.
iterate: skip range check if no ranges provided (negative range index)
iterate: fixed prefix->postfix index operand - do not go out of the range
Merge branch 'master' of github.com:reverbrain/eblob

Conflicts:
	library/blob.c
v0.22.0