Queues now yield task objects.
Add 'size' attribute.
Improve documentation.
A queue is now also a context manager, providing transactional semantics.