Implement splassert(9) for powerpc.
This changes the logic to prevent a recursion when processing soft
interrupts. Previously a per-CPU flag was set before re-enabling
interrupts. Now the IPL level is raised to SOFTTTY which makes
splsoftassert() happy, greatly inspired by mips64.
As a side effect, the ppc_intr_{disable,enable}() dance is now done
only once instead of twice per splx(9).
While here, make use of dosoftint() instead of having 3 different
functions for dispatching soft interrupts.
Tested by deraadt@ on G4 smp and by myself G5 smp, G3, G4 and socppc.
No objection from the usual (and over busy) suspects.