Make outlets work inside block helpers
Always bind outlet to the template from whence it came
Adding unit test for nested outlets
Update gitignore.
Remove pointless check for native Array replace.

The real function is called splice, which is what the “shim” was calling anyway.
ArrayController learned itemControllerClass.

```javascript
App.ItemController =
  Em.ObjectController.extend();

var arrayController = Em.ArrayController.create({
  itemControllerClass: 'ItemController',
  content: Em.A([0, 1])
});

controller.objectAtContent(0);               // an instance of ItemController
controller.objectAtContent(0).get('content') // 0
```

This partially addresses #1637, but makes no attempt at supporting reusable
views.
Allow chaining on DeferredMixin#then
Merge pull request #1718 from CrowdStrike/deferred-chaining

Allow chaining on DeferredMixin#then
Merge branch 'arrayproxy-itemcontrollersclass' of https://github.com/hjdivad/ember.js into hjdivad-arrayproxy-itemcontrollersclass
Cleanup before merge
Clarify itemController out of range case.
Merge branch 'nested-outlets' of https://github.com/ef4/sproutcore20 into ef4-nested-outlets

Conflicts:
	packages/ember-handlebars/lib/ext.js
Merge branch 'master' of github.com:emberjs/ember.js
Fixes #1622
Merge pull request #1719 from hjdivad/implementation-clarification

Clarify itemController out of range case.