recoco: Assert that Task's run() is a generator

Task's run()s are supposed to be generators.  If they're not, you're
probably not getting the behavior you want.  There *may* be an exception
to this (when a run() conditionally wants to end immediately), but at least
for the moment, we assert that they're generators.