isc_async_run() runs events in reverse order
when more than one event was scheduled in the isc_aysnc queue, they were executed in reverse order. we need to prepend events on the queue instead of appending them, so that uv_loop will run them in the right order.
note that isc_job_run() has the same behavior, because it calls uv_idle_start() directly. in that case we just document it so it'll be less surprising in the future.
Closes #3632 (closed)
Edited by Evan Hunt