Add modules to define a working workflow.

Workflows are defined by subclassing simpleflow.Workflow. The dataflow
relies on simpleflow.futures.Future and the helper methods:

- futures.wait()
- Workflow.map()
- Workflow.starmap()

One can check if a computation is finished in a non-blocking way with
the Future.finished property.

See tests/test_dataflow.py for examples.