Initial non-blocking write support

Added non-blocking writes for asyncio, with a basic first in first out
queue to write messages one at a time.

See #2
Added a manual test for testing end to end asyncio