Properly add yield-from, using python's real "yield from".

The yield-from that existed previously wasn't actually implementing the
full complexity of "yield from":

  http://legacy.python.org/dev/peps/pep-0380/#formal-semantics

... this includes passing along errors, and many other things.

It may be that we could/should implement the full algorithm of yield
from and backport it to pre-python 3.3 though.  That would be pretty cool.