Fix parsing of empty strings.

Since `regexp.FindString` doesn't distinguish between empty string and
no match, this patch uses `regexp.FindStringSubmatch` (which returns
empty array vs. array containing an empty string) instead.
Fix config parser to avoid extra newline matches.
Bind from config file to non-string struct fields.
First pass at writing out a config file.