Optimize mem + cpu of PipelineManager.start

Pair programming with @andrebco

Fix #32
Change ports used on tests

Pair programming with @andrebco
Fix unsubscribe message on PipelineManager

Pair programming with @andrebco
Adds `PipelineManager.pipelines` property

It's a generator that returns all pipelines that `PipelineManager` is managing.
Adds missing tests for `PipelineManager`

- .update
- .started_pipelines and .finished_pipelines
Modifies `send_pipelines.py` example

Now using new `PipelineManager` method `update` and attributes
`started_pipelines` and `finished_pipelines`.
Add an `index.rst` page to example directory
`timeout` is not optional anymore in `PipelineManager.update`
Optimizes `PipelineManager.pipelines`
Adds benchmark for PipelineManager.start
Fixes bug on `PipelineManager.finished`

It was not passing `timeout` parameter to `update`.
Also modified a test to call `finished` and catch this bug.
Adds optimize-PipelineManager benchmark report
Merge pull request #43 from turicas/bugfix/optimize-PipelineManager

Bugfix/optimize pipeline manager