Refactor `Ember.Application.initializer`.

Previously, `Ember.Application.initializers` was implemented as a
concatenated property, which is works at class definition and instance
creation time, but not when the field is mutated, which is what
`Ember.Application.initializer` was doing prior to this commit.

Also reverted concatenatedProperties change, which had been added to try
unsuccessfully to address this issue.
Fix incorrect method name in code comment

```
insertNewLine
insertNewline
         ^
```
Fix incorrect var usage in replaceWith
Remove Route#redirect soft deprecation
[FEATURE em-o] Fix API docs
Merge pull request #3517 from tricknotes/fix-method-comment

Fix incorrect method name in code comment
Revert "[BUGFIX] Fix an issue with concatenatedProperties."

This reverts commit 0158de0d05feadcf9d9b1187ff8299c966614042.
Merge pull request #3519 from ghedamat/fix-var-in-replaceWith

Fix incorrect var usage in replaceWith
Merge branch 'pr/3516'

Conflicts:
	packages/ember-application/lib/system/application.js
	packages/ember-application/tests/system/initializers_test.js