fix queue_push & queue_shift; add queue_peek; remove current_event and current_event_args

Problems fixed:
- logic error in queue_push
- queue_shift didn't update event_queue.tail

Valgrind does not report any errors in error_loop.c any more. (But it does report some errors for some Python internals.)