Divide up keywords

Much of keyword context block is split into built-in, primitives, storage-class, flow-control, subroutine, and operator contexts. Preprocessor is simplified to be defined as any line starting with the # character. *.bi files are included in the glob type.