handle a null argument for ht_set_memory_allocator()

When the pointer passed to ht_set_memory_allocator() is null, use the default
allocator.

This also removes a warning introduced by clang 3.4 (ht_default_allocator was
not used).