fix build with musl libc, and remove workarounds for ancient glibc

the workarounds for glibc < 2.1 (was released february 1999) break
the build with musl libc.

it is very unlikely that 2.0 or earlier is still in use, and if so,
1) that's a big security hole
2) code wouldnt compile anyway since noone tested build in the last decade
3) user of it wouldn't expect anyway to get bleeding edge sw built on it,
   so he would just use the latest version that works for him.

closes #52