Prefer assertions, making available functions only when caps support it for cpu-related abstractions. Changes cpu hal functions to stall, unstall, reset to not accept -1; instead prefering macros that provide the same functionality.