Add support for bare metal "none" target, for kernel-only compiles

Testing with arm-none-eabi-gcc for Arm Cortex M.
Some small Cortex portability issues to resolve.