WIP: Improve perf of createAlternanteImpl

- Creates return-type specific return functions that are determined at
  creation time
- Splits off promise handling to it's own function. Overrides that use promises
  must indicate so when creating the override with the usesPromise param.
Here we determine the return handler prior to creating the override.