Header removal

This change reverts a change that had introduced a new naming schema for
header files.
Generic LinkedList implementation.

Data agnostic linked list using reference counting to provide both
implicit sharing and copy on write.