Remove softcrap leftovers, SIR_*.
Good-fucking-bye IPL_SOFTCLOCK, also introduce IPL_CRIT.

So IPL_CRIT is the last level where we got rid of IPLs, so that code
can rely on critical sections instead of IPLs, it is now a panic to
try to splraise(ipl < IPL_CRIT). This is just temporary to spot bugs
and be able to move forward.
Introduce crit_assert().
Kill IPL_SOFTNET, machine locks up, goes forward if IPL doesn't look
into critical section. This points to critical sections being stuck at
some point.
p_pcrit should be zeroed out on fork.
Revert "Kill IPL_IPI and replace it with critical sections, still pretty"

This reverts commit bdc5fb103fc3cb484a040259198bfbf1ca86ee73.

Conflicts:
	sys/arch/amd64/amd64/intr.c
	sys/arch/amd64/amd64/machdep.c
	sys/kern/kern_crit.c

We're not ready for this, we need to move from IPL_SOFTCLOCK and up,
not the other way around, I was hitting some really hard to debug
deadlocks concerning fpu save state. We need the infrastructure to be
more advanced to think of this. IPL_IPI is more or less self contained
so it shouldn't stay in the way.
Unify ithread_softsched and ithread_handler (now ithread_run).

They're essentialy the same, althought they will differ in the future,
so keep the calls.
Boot requires a critical section now.
Stop using tsleep on ithread() and standarize on ithread_sleep
(previous ithread_softsleep).
Unify ithread_softmain() into ithread().

Had to make softhandlers return 1 so we don't the the stray interrupt
report.

Also had to give an empty hwmask/unmask implementation to softpic.

While here, make is_scheduled volatile since it might be changed by an
interrupt handler right in between invocations. This _only_ prevents
the compiler from keeping each read on register, which is what we
want.