Start separating linux kernel and glibc APIs

This pull uses the new `CRuntime_Glibc` and `CRuntime_Bionic` predefined global versions from [dmd pulls #4111](https://github.com/D-Programming-Language/dmd/pull/4111) and [#3643](https://github.com/D-Programming-Language/dmd/pull/3643) to start separating out linux kernel APIs from glibc and bionic APIs.  I used dstep and a modified Dscanner to help find type and struct declarations, but had to check enums again by hand.  dmd pull #4111 will have to be merged before this one.
``( foo )`` is old style version statements.  If you are changing this, you might as well fix the styling too.