introduce a means of returning to previous program point

IRQ state = 3 essentially, followed by returning to entry stub.
Fixed bug by making debuglog() reentrant.
intr_init should happen after vmm_init to allow use of VMM when creating interrupt status table
improve register dump during data abort debug logging
add debugging function smp_dump_coherency_processors
improve register dump of prefetch abort too
fix array overflow when (size>>3 == 0)
writeback is not allowed during STM (User registers) instruction

for whatever arcane reason, so easy workaround is to explicitly subtract
put more of IRQ handling into entry stub, generalize code a bit
_kernel_saved_context variable allows direct control transfer from IRQ handler back to normal context

also cleaned up process.c a bit
stow single-reader/writer version of new notation
fix various type annotations
Merge remote branch 'origin/irq_system' into irq_system

Conflicts:
	progs/ehci/ehci.cats
	progs/ehci/ehci_start.S