Rewrite user method calls so we can yield within

High level steps:
1. Add yields to inner functions
2. Don't insert an instrumentation yield after user method calls
3. Rewrite calls to generatorified user methods to handle a returned iterator

Knowing when a call is to a user method is the interesting part.  This code makes a mapping between all calls and function expressions once, which is then used to answer 'Is this a user method call?' during the yield transforms.