gencpu.cpp: cleanup / compilation warning fixes

many const fixes, added a few runtime checks, and added NORETURN to term.
hmm is this overloaded function new ? it isnt compatible with C (required for PUAE).
i propose the following change:
```c
NORETURN static void term (const char *err)
{
printf ("%s\n", err ? err : "Abort!);
abort();
}
```
and the places that call it without argument change to term(0);