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.