In order to write unit tests for kernel code, unit tests require
access to certain kernel declarations in our header files. They
can't just get them by defining _KERNEL as that causes unwanted
behaviour for userland code (for example, <sys/errno.h> will not
define errno if _KERNEL is defined).
Add a new macro that unit tests can define to request that
kernel declarations be exposed. Support for this define
can be faulted in to additional headers as unit tests are written
and require access to particular declarations.