Added database iterator. The whole protocol module should be used sequentially, given the constraints of the underlying functions. Therefore, tests HAVE TO BE RUN WITH RUST_TEST_TASKS=1, for now.