Don't deoptimize every Ember.run

TryCatchStatements are currently non-optimizable statements in v8 (and likely other run times). Additionally, methods containing try/catch statements are not inlineable

Although Ember.run's shouldn't be in a tight loop, we should incur the deopt penalty if we don't even use Ember.onerror
Merge pull request #4310 from stefanpenner/dont-deopt-every-ember-run

Don't deoptimize every Ember.run
remove extra and unneeded closures.
Merge pull request #4311 from stefanpenner/reduce-closures

remove extra and unneeded closures.