Implement Python Generators

This rather large patch which implement python generators.

I think this isn't quite right -- the argument index should probably be `closure_indicator` rather than 0?