build: Generate include and define flags from lists

This adds two variable lists to the kernel build system so that
preprocessor defines and include paths can be listed separately from the
CFLAGS variables.