handle_events() unconditionally

If we condition on notif_pending and we don't drain the event queue
completely (due to a handler not returning perhaps), then the next time
we try to handle_events, we would have bailed out - even if the mboxes
weren't empty.

Another concern is that if we handle_events, clear notif_pending, and
then we run a handler that doesn't return, that we someone slip out of
vcore context in the future without checking messages.  Any case
involving a handler that doesn't return should result in a fresh vcore
context starting up, which checks events.  This means that event
handlers cannot pop directly into uthreads.  ev_might_not_return() won't
help you with that, since it covers cases where we handle another vcores
mbox, not our own mbox.
Fixes handle_indirs issue

handle_indirs() can only proceed if the target vcore is guaranteed to
not be online.  VC_PREEMPTED is the commonly used flag for that, with
the added benefit of that flag turning off the first time a VC comes
back online - meaning we can skip handling their messages if its a moot
point.

This change sets PREEMPTED for all cases of change_to_vcore, since the
"I don't plan to return" case needs to have its messages checked
remotely.
Fixes bug with EVENT_VCORE_MUST_RUN

Spamming list members would succeed for offline vcores, which breaks if
MUST_RUN was set.  The race was that a VC could have been on the online
list, but by the time we messaged it, it was preempted (and it still
can_rcv).  Likewise, checking the bulk-preempt and inactive lists could
be racy as well.

Four bugs found while writing a dissertation.  Not too bad.  =)
uth_disable_notifs() nests

I'm not aware of any uthread context callers that nest these currently,
but if they did, they would be broken.

Of course, one easy way to nest would be to nest spinlocks from uthread
context.
Lock_test analysis: lock_test.R

R script for parsing the data files outputted from lock_test.

Also fixed a bug with the __mcs_pdro.  When I changed the threadids to
0, that messed up the "guessed" vcoreid, such that someone was -1
(eventual fault when ensuring vc -1 runs).