Added iteration tests to eblob stress.

At the end of eblob stress it will runs 3 iterations:
##### Out of range iteration
Runs iteration on ranges: `[00..0, minimal key)` and `(maximal key, FF..F]`. These ranges do not include any of existent key. Checks that iteration does not find any key.

##### Part of range iteration
Creates 2 ranges: `[00..0, 40..0]` and `[C0..0, F0..0]`, that should include some part of existent key. Find such keys and checks that iteration finds all these key.

##### Full range iteration
Runs iteration on one range: `[00..0, FF..F]` and checks that all existent keys have been found by iteration.

These tests found that iteration of unsorted indexes returns keys from out of ranges - I've added checking ranges even if index is unsorted and used `bsearch` for checking if a key is from ranges.
Decreases key by searching for the first key bigger than 0x00.
Search is performed from the end to the beginning of the key.
When we have found the first byte bigger than 0x00 it is decreased by 1.

But why? Could you please write a description of how iteration is 'supposed' to work, like what you thought when you designed this test and not even started to code.