Bugfixes: handling of malformed databases, iterators and indexes

Iterators:
 * Propagate internal and external `iterator` errors to caller:  
This fixes incomplete `data-sort`s and `recover`ies in case of badly corrupted indexes.

Indexes:
* Check index entries on start to avoid startup with broken indexes:  
We ignore minor index corruptions and in case of fatal errors we bail out, print diagnostics and fail `eblob_init`.

Misc:
* Fixed `eblob_total_elements`:  
Now it returns difference between total number of entries in database and number of removed entries;
* Various bugfixes and sanity checks.

PS. http://doc.reverbrain.com/eblob:tools:eblob_merge coming later today.
PPS. This pull request introduces some non-trivial changes in `iteration`/`startup` that should be carefully tested.