Adapt download script to use svn export instead of viewcvs

This just makes me feel less icky.
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.
Shuffle source files around into directories

This organizes things a little closer to the glibc source and avoids
clutter as I continue to add more things.
Explicitly link to libc.

Previously the library was linked using the -nostdlib flag which made
ldd --verbose look suspicious but everything still worked by virtue of
libpthread dynamically linking to libc. I don't know of any particular
reason for using -nostdlib and the documentation doesn't list it.

http://www.gnu.org/software/libc/manual/html_node/Adding-another-Service-to-NSS.html
Import passwd and group file parsing code.
Strip pwd/grp source down to just the parsers and add to build.

Now the altfiles module no longer depends on _nss_files_parse_*
functions in libc. Depending on those functions wasn't very proper
considering they are declared as GLIBC_PRIVATE.

After this change the only funky symbol from libc that altfiles depends
on is the _res_hconf structure. Unlike the _nss_files functions,
_res_hconf is explicitly declared as part of libc's GLIBC_2.2 ABI so I
feel a bit less dirty depending on it.

This replaces commit d6f2322f.