[FEATURE container-renderables] Late-registered components, helpers

Previously, you couldn't register components without their
templates being on `Ember.TEMPLATES`. Now, any dasherized
handlebars invocation will check to see if a component
or template has been registered under that name, and if so,
render the component. Otherwise, if neither template nor
component are registered on the container, treat the dasherized
HB invocation as a bound property path.

On the helpers side of things, we're making it possible to invoke
helpers registered on the container. Helpers will be registered as plain
ol functions on the container; bound helpers can be stored on the
container by making use of the new `makeBoundHelper` to convert a raw
helper function into a bound helper function. Ember-app-kit and the like
will need to distinguish between raw and bound helpers and decide
whether to store raw functions vs `makeBoundHelper`-wrapped functions on
the container as 'helper:xxxxxx'

Note that presently we are only allowing the invocation of
container-registered helpers if they have a dash in them. This
is to avoid a perf hit in the hot triageMustache path; we avoid
container lookups for properties that don't have dashes in them.
Merge pull request #3329 from machty/late-components

[FEATURE container-renderables] Late-registered components, helpers
[FEATURE container-renderables] ComponentLookup uses child container

If currently rendering a view/component that has a child container
inheriting from the global container, the lookup for a Component
should occur on that child container, not the global container.
Merge pull request #3501 from machty/late-components

[FEATURE container-renderables] ComponentLookup uses child container
Fix documentation for cancel method of Ember.TextSupport
Unnecessary check in replace logic

pointless check in if statement, we've already ascertained
that either there is no object, or that the length is 0 anyway.
Merge pull request #3505 from kingpin2k/removeExtraRemoveLogic

Unnecessary check in replace logic
[BUGFIX release] `Ember.keys` should return own property

In IE8, `Ember.keys` couldn't return property that named the same as
own prototype property.
[BUGFIX release] Fix to return `undefined` for `href` of {{link-to}}

The old IE renders `false` to `href="false"` against my expectation.
[BUGFIX release] `Ember.Object.extend` should allow any prorerty
Merge pull request #3507 from tricknotes/fix-link-to-helper-for-old-ie

[BUGFIX release] Fix to return `undefined` for `href` of {{link-to}}
Update documentation for "customEvents"

The "loadedmetadata" event is no longer considered a bubbling event, and subsequently it will never be triggered.
[BUGFIX beta] Don't use incompatible array methods

The old IE doesn't have some `Array` methods.
Merge pull request #3511 from kanongil/patch-1

Update documentation for "customEvents"
Merge pull request #3508 from tricknotes/fix-object-extend-for-old-ie

[BUGFIX release] Fix Ember.Object.extend for old IE
Merge pull request #3506 from tricknotes/fix-for-old-ie

[BUGFIX beta] Don't use incompatible array methods
Merge pull request #3504 from lackac/patch-1

Fix documentation for cancel method of Ember.TextSupport
[BUGFIX beta] link-to, bound helper issues with arrays of primitives

/cc @kselden

Fixes #3342. Fixes #3429.
Merge pull request #3513 from machty/bound-primitives

[BUGFIX beta] link-to, bound helper issues with arrays of primitives
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.