Let's use CMocka for testing.
Set up some boilerplate for cmocka.
Stub out a hashtable implementation.

Switch to CUnit, since it's on both Mac and Ubuntu.
s/cmocka/CUnit/g

CUnit is a uglier, but it's pretty simple and it's available in both apt and
brew.
Ignore the test suite.
Return non-zero exit status for failures.
Murmur hash.
Start on the hashtable implementation.
Implement put and get for hashtables.
Refactor out core hashtable insertion logic.
Test and implement putifabsent.
Implement and test hash iteration.
Track and access capacity and size.
Dynamically resize hashtables.
No more magic numbers.

seg_hashtablep instance can now have their growth behavior customized at
runtime by manipulating a seg_hashtable_settings struct.
script/debug unit debugs "make test".
Implement a symbol table using a hashtable.
Use an ADD_SUITE macro; should be a little cleaner.
Test methods should be static.
No headers needed for unit tests.