Implement a simple go function

The go function launch a function on another thread
Bind a queue to coroutines for message passing

Example:

    @coroutine
    def echoargs(*args):
        chan = coroutine.self()
        chan.put(args)
Minor refacto
Refactor the go function

Now coroutine and go are the same
coroutine is a decorator function that launch code in a new thread.
go is used to adhoc decoration

Example:

@coroutine
def task(n):
    chan = coroutine.self()
    chan.put(fibonacci(n))

chan = task(10)
print(chan.get()) # fibonacci(10)
go(fibonacci)(10) # fibonacci(10) in the background
Implement Channel as an API to talk to a coroutine

This allow us to not mess with queues endpoints
Implement select to wait for async channel IO
Minor cleaning
Channel: implement the alive method
Fix the coroutine decorator

coroutine and go are not the same decorator anymore
coroutine is now a factory of go decorated functions
Add a setup.py file
Add a pulse example
Add a select example
Add .gitignore file