Memstore range cursor

This pull request changes:
- interface of simple_store -> exposes cursors
- range like queries are implemented in store
- mem_store exposes cursors (with the help of Map.Cursor & Map.Zipper)
- removed test_backend, this exposed 2 minor bugs (ping in sync_backend, set_interval in store), and 1 bug in the tests
- optimized handling of range-like queries (no List.rev or Array.to_list stuff, note that some of these are hidden inside camltc)