Python3

This forks the code to be compatible with python 3.4.2.
Namely it:
changes the use of a metaclass to a decorator because inheritance of the metaclass is not desireable for subclasses (like the SubPipeline class)
Refactors the proxy code to fit into the decorator pattern
Fixes some bugs around pipeline (such as class SubPipeline instead of def SubPipeline) and the fact that pipeline() was both a function and also being patched up by the meta-class, which led to the subpipeline not being used.

I have not tried, but presumably this code doesn't work on python 2.7. I am not sure how to resolve this but wanted to present the python3 fork without worrying about compatibility, and then could figure out what the right 2/3 split is.