Make YIELD_FROM behave correctly when faced with ambiguous objects

Don't use a method named `send` unless the object is actually a Generator.
Refactor value extraction off StopIteration

This was way too close to the C code, which doesn't have lovely exception handling like we do.
More elaborate tests of generators, including one with a return
Merge pull request #16 from akaptur/yield-from-send-fix

More yielding from