refactor passwd file access code this allows getpwnam and getpwuid to share code with the _r versions in preparation for alternate backend support.
include cleanups: remove unused headers and add feature test macros
add fgetpwent (nonstandard function) based on patch by Jeremy Huntwork