Move GROW_ALLOCATION to macros.h
Add Node helper to handle double linked lists with a sentinel
Some minor style cleanup
Add missing header for offsetof