Change how the config file is loaded to support loading multiple config files

Change how the config file is loaded to support loading multiple config files, starting with the most common (/etc) to the least (cwd), overwriting values as we go. This allows me to have development specific settings in my home directory and having system specific settings in /etc and having everything just work.