build: define _KERNEL everywhere

We have _KERNEL defines scattered throughout the code, which makes
understanding it difficult.

Define it just once, and adjust the source to build.

We define it in an overridable variable, so that non-kernel imported code
can undo it.
types.h: add cpu*_t

Add some required solaris types.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
build: add a way to prepend include directories

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
build: make it possible to disable including bsd includes

We want to tweak the include order for solaris (solaris -> bsd -> osv)
compared to osv (osv -> bsd) or bsd (bsd -> osv), so put these includes
in their own variable which can be nulled out.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>