Internal code should read/set errno using the new macro libc_errno
introduced by this change. When building for tests, this macro resolves
to an internal libc only errno variable. Which means, libc tests
will not affect the global errno value (the errno of the libc to which
the tests are linked to.)
Not all tests are clean but one should be able to build the libc after
this change.