Restore single-retrieval semantics for call site cache.

This was caught by test/jruby/test_thread.rb in the
test_poly_calls_safe. It was *not* caught on Travis, which only
hands out single-core instances. This is a gap we probably need
to address in our CI.
Increase thread count for poly call site test to fail better.
Thread events must not poll during sleep.

The new thread eventing based loosely on MRI's exits sleep after
checking for events. My previous fix to ensure we poll before
entering the blocking call unfortunately polled after entering
sleep, causing sleep to be exited and tests like those in
test/jruby/test_thread.rb that wait for Thread#status == "sleep"
to hang.