conf.c: store repo settings in dedicated struct

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: use masks for siglevel inheritance

This will allow pacman to parse its config file in a single pass and
removes the need for the *_SET siglevels in alpm that were only required
pacman's siglevel inheritance.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
conf.c: parse config in a single pass

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove final callback call

Storing repo information removes the need for the final callback.  This
allows the call signature to be re-purposed for indicating read errors.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: move Include parsing to conf.c

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove unnecessary helper function

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove empty section name restriction

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: remove useless key check

key points to a statically allocated string, it can't be NULL.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
ini.c: move error output into conf.c

Move the remaining output into conf.c by notifying the callback of read
errors.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
wip: config parser unit test

Just a quick-n-dirty test to demonstrate the reworked parser.  Obviously
not suitable to be committed.