ArrayController learned itemControllerClass.

```
var ControllerClass = Em.Controller.extend();
var proxy = Em.ArrayController.create({ content: Em.A([0, 1]) });

proxy.objectAtContent(0);               // an instance of ControllerClass
proxy.objectAtContent(0).get('content') // 0
```

This partially addresses #1637, but makes no attempt at supporting reusable
views.