include cleanups: remove unused headers and add feature test macros
fix errno value when fdopendir is given an invalid file descriptor this resolves an issue reported by Vasiliy Kulikov
initial check-in, version 0.5.0