[BUGFIX BETA] BREAKING: Fixed how parentController property of an itemController when nested.

When an `itemController` is specified for an ArrayController that itself has a `parentController`
set, the framework was previously setting the itemController's `parentController` property to the
ArrayController's `parentController` instead of the ArrayController itself. This commit fixes that
behavior, and improves the docs, naming, and logic around this case.

If you were relying on an itemController's `parentController` skipping a generation, you will
need to use `parentController.parentController` or better yet, avoid the Law of Demeter
violation and provide a sensible method on the ArrayController that itself delegates to its
`parentController`.
Merge pull request #4179 from lukemelia/item-controller-bug

[BUGFIX BETA] Breaking: Fixed how parentController property of an itemController when nested
[FEATURE composable-computed-properties] Several CCP Fixes.

- Make CP implicit keys calculate correctly when they have no dependent keys.
- Remove some dead code.
- Test expressions that differ only in non-cp args.
- Support CCP depkey paths.

Dependent keys are used to form the implicit key for a CP, so here we replace
'.' to ensure the resulting key is not interpreted as a path by `Ember.get`.
Merge pull request #4182 from hjdivad/fix-ccp-bugs

Fix a bug with composable computed properties.