Semaphore try methods

FYI: the irqsave sem_*downs aren't called from IRQ context; they are
used when the ups might be called from IRQ context.
All qlocks are initialized

We'll probably need to make other newconv() methods for all the
protocols to do other initialization.  For instance, ipifc has some
rwlocks and spinlocks in its ptcl struct.
qlocks are now semaphores

If we have any that aren't initialized, they will have 0 signals
available, and we'll block immediately on "unlocked" qlocks.