
- Handle clusterized geographic searches (don't traverse child nodes if it
would fit below a query-defined scale; return the number of children
instead).

- Output error messages.

- Write tests.

- Replace pointers + size and stringz with binvals.

- Drop the global rwlock for layer-specific rwlocks.

- Drop pthread rwlocks for fcfs rwlocks.

- Handle expiration.

- Add configuration to the journal at startup time.

- Add time to journal entries for point-in-time recovery.

- Authentication.

- Multiget.

- Retrieve keys whose name matches a prefix (since keys are indexed using a
rbtree, this should be fast).

- Symbolic links to other records, a la Riak.

- Get rid of the remaining fixed-size malloc() calls and use slab allocation.

- Replication.

- Scripting through TinyScheme, LUA or Spidermonkey.

- Decent documentation.

- Long-polling HTTP notification service for tracking changes in registered
layers and rectangles.

- Proxy for easy sharding and caching.

- rewriteaof should compress the journal. New operations would happen
on a second, uncompressed journal.

