Improve node.apply/call/lift perf. Reduce mem usage

There are now zero closures in makePromise, and zero on the hot path
of when/node apply/call/lift.  This improves the perf and reduces mem
usage of promise.fold, and when/node call/apply/lift.