More hash table stuff

I started using shared_ptr. I can tell I'm missing a fundamental
concept, though, because every time I implement a linked list, I get my
pointers, references, and objects confused.