conf.c: move section handling out of _parseconfig

_parseconfig now tracks the current section name directly so that the
name stored in the section struct is just a pointer to the one stored by
_parseconfig.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: pass _parse_directive as a callback

This will allow passing arbitrary key/value handlers.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: extract ini parsing code to separate files

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: move recursion limit to a macro

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: reuse line buffer

By the time we make the recursive call we have already finished with the
line buffer, making it safe to reuse.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: make errors in includes fatal

If an error in the main file would be fatal there is little reason to
ignore the error in an included file.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>