Define new ALTFILES_SYMBOL macros to replace CONCAT

The chaining of CONCAT macros was a bit ugly, this cleans up the changes
required to port files from glibc to altfiles.
Correct logic around exporting and using external parsers.

Leaving this macro-glue untouched just happens to work for the mix used
buy the passwd and group types but breaks for others that I am adding.
Replace the existing logic only do 'static' or 'extern' but nothing in
between.
Import more file types from glibc 2.18.

Many of these such as networks, protocols, etc. make a lot of sense for
this module since they are usually never customized and thus have little
need to actually be in /etc all the time.
Compile all new file types, update CFLAGS

Fairly simple compile fixes:
 - Get better warnings (-std=gnu99 -Wall)
 - Add a few more includes and stub macros to compat.h
 - Fix symbol names in file-hosts.c
 - Fix the Makefile's build dependencies for included sources.