Fix #1 with a test and a hack.

Break-down of the problem:
	1) There is a message waiting in the queue on the server
	2) We start a consumer, and the server responds with BasicConsumeOK
		*immediately followed* by BasicDeliver
	3) In response to BasicConsumeOK, asynqp schedules the queue.consume()
		coroutine to resume, which creates and registers the consumer
	4) However the coroutine resumes _after_ the callback to handle
		BasicDeliver, so there's no consumer to recieve the msg

I fixed it by submitting the handling of BasicDeliver
(and its component frames) to the event loop to be processed as Tasks
which use the Synchroniser to make sure they are processed in the
right order.