Abstracted node storage

The node storage layer now implements the interface NodeStorage.  This will
allow adding different types of storage (e.g. LinkedList, FixedArray).

Signed-off-by: Nate Brunette <n@tebru.net>