Added error reporting for missing & incorrect config files

Changed config.go so it propagates errors upward rather than panicking. Added tests to ensure useful errors get reported.