no-glib: Rule out g_build_filename.

There may still be some g_free/free mismatches, you're warned.
no-glib: Rule out g_strdup, g_strndup, g_new, g_malloc.
update: Correctly deal with NULL path
no-glib: Rule out several G_GNUC macros.
no-glib: Delete G_GNUC_CONST
no-glib: Clear G_GNUC_UNUSED
headers: Retire gcc.h.

1) I don't use funny version checks and #pragmas to workaround false
postive gcc warning. I just ignore them.

2) I don't use gcc_nonnull. You gonna have null guard in your code any
way.

3) Why is there a gcc_packed? I deleted it. May cause ABI breakage
though.
no-glib: Remove as much g_free as I can.

The others might require some additional code to remove.
no-glib: Replace G_UNLIKELY/LIKELY
no-glib: Clear a few more g_free.
TODO
conf: Correctly handle NULL config string.