use a vtable approach for generic map interface
[nbds] / todo
1 - make rcu wait when its buffer gets full, instead of crashing
2 - fix makefile to compute dependency info as a side-effect of compilation (-MF)
3 - investigate 16 byte CAS; ht can store GUIDs inline instead of pointers to actual keys 
4 - test ht
5 + optimize tracing code, still too much overhead
6 + use NULL instead of a sentinal node in skiplist and list
7 - make interfaces for all data structures consistent 
8 + make list and skiplist use string keys
9 + optimize integer keys
10 - ht_print()