Untested initial commit of open-addressed, linear probing hash table.
Make C++/void* cast macro available to users of the library; fix void* pointer arithmetic
Fixed linear probing hash table semantics so the inserted bucket is returned on success, not a boolean.
Added a doubly linked list (dlist) iteration for loop macro

genc_dlist_for_each_object() is handy for iterating over all (same-typed) members of a list.
Added functions for splicing sub-lists of doubly linked lists (dlists)

See header comments for genc_dlist_splice() and genc_dlist_splice_before() for details.
Fixed linear probing hash table's insert function return value.

Didn't properly update the return value from boolean to pointer when I changed those semantics.
Added functions for walking through all items in a linear probing hash table.
Created Xcode project for unit tests, and basic linear probing hash table testing target.
Correctly include non-kernel assert header in dlist (which has recently gained asserts)
Clarified the documentation on the semantics of the linear probing hash table's remove function.
Fixed the relocation algorithm in the linear probing hash table's remove operation.

The check for reachability and relocating newly-unreachable items suffered from an off-by-1 error, and we were subsequently moving the wrong item as well. This is now fixed.
Comprehensive set of tests for most operations on the linear probing hash table.
Fixed linear probing hash table iteration: now actually jump to next bucket.
Added a test for iterating over the items in a linear probing hash table.
Target and test cases for splicing dlists.
Ignore xcode user files and DS_Store files
Test case for genc_dlist_splice_before