fix bug parsing config files without a trailing newline

Goconfig has a bug where the last line of the file does not get parsed if it does not contain a trailing newline.

Reading the last line without a trailing newline causes `ConfigFile.read` to return early because an EOF is signaled by `bufio.ReadString('\n')` even though bytes have been read. Fixed by waiting until `bufio.ReadString('\n')` returns both EOF and 0 bytes are read.