implement gcfg

This ended up being a lot simpler than I was expecting. Now we read from a config file into a struct and use those values.
I think it's easier to read on multiple lines. The libsodium stuff is all on one line because... hmmm idunno why