Fix __GLIBC__ use

__GLIBC__ is not defined until <features.h> is included.
Since we can't include <features.h> (it's not a portable
header), we assume __linux__ implies __GLIBC__.
Kill dead code

The declarations for static members were useless (and
harmful) as the subclass should be declaring those members.
Compress argument list for certain definitions

For combined declarations and definitions, newlines are not
necessary [1].

[1] Arbitrary decision.  This is style!
Compress argument lists

Instead of writing

    b_really_long_function_name_with_much_indentation(
        bar,
        baz,
        qix)

one can write

    b_really_long_function_name_with_much_indentation(
        bar, baz, qix)

Also fix indentation and wrapping errors of function calls
along the way.
Kill useless comment

Replace the comment with a variable declaration.
Remove redundant newlines
Move some headers into <B/Private/>
Split Misc and OS modules

Misc now contains random helpers, and OS contains OS
function wrappers.
Delete PBX code

The design of the parser was bad.  (The scanner was okay,
though.)

I think B will be going a different direction wrt
front-ends, so this code is dead code.
Wrap some OS functions used by Process

This makes error handling B-style for various functions.