This is to allow suppressing an ugly stack trace/error message in a unit test in #2197. It doesn't support the full HALSIM_SetSendError callback stuff (i.e. you can only suppress, not intercept, stack traces with this).
The old headers were moved into folders because doing so avoids polluting
the system include directories.
Folder names were also normalized to lowercase.