Updated concurrency model in request-then-process type handlers

Callbacks from blocking ops now throw completed operations
back onto the channel's event queue so we can remove
synchronization.