Conservative edge case hunt

I've been hunting down some weird edges this past week.
This commit is a bit of a lump of multiple pieces thrown together;
sorry.

job.c/common.c: Mildly gross check to see if we are pending apply or
pending wakeup in the deferred free routine.  If we are, re-defer and
free later.

memory.c: In tracking down what turned out to be a memory corruption
issue in a client of the library, needed to see which memtypes were
at fault in some of our abort cases, so introduce memory_panic as a
means for showing them.  The memtype paramter is typically optimized
aware making it impossible to debug sanely via coredump.  We can't
simply use ph_panic() in here as this may need to allocate memory
and cause a double fault.

epoll.c: don't inspect kmask as a means to avoid epoll_ctl syscalls.
Relax the panic condition.  In the hunt this past week, it looked
like were not applying our changes to epoll in a timely fashion.
This change raises the volume of epoll_ctl syscalls that we make as
a conservative measure to ensure that the correct state is applied.
It may be that we don't need to be so aggressive, but for now, we
know that this results in correct operation.

socket.c: be more aggressive at pumping data into the appropriate bufqs.
We saw what looked like stalled sessions (perhaps due to the reasons
mentioned above for epoll.c) so we wanted to ratchet things up a bit.
Also: when suspended, don't try to operate on bufqs when we get
signalled.

ssl_stream.c: if someone tries to use us after we've been closed,
indicate an EBADF error rather than segv.