Refactor `Ember.Application.initializer` to fix initializers bleeding or not running

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.