update .gitignore to ignore dat files
refactor: pull out the util module
refactor: Remove utils into util.h dependency
add deck module
refactor: update Makefile targets for new utils
update Makefile with hub target and vars
feature: populate root-level hub
refactor: error handling logic now in error.c/.h
refactor error and util logic into own modules