added support for requires and provides semantics for tasks
tests fixed to reflect running controller at the end of the pipeline
updated public api
requires and provides implemented as classes because
of the way decorators pass function
tests updated to import correct version of pypline
and to assertRaises correctly
minor version change
run_count added