[BUGFIX] Deprecate manually assigned templates for Components.

In most circumstances a Component does not have a template or
templateName property. In a component the block passed when calling it
(in a handlebars template) is interpreted as its template, and a
template that was registered as `components/my-component` becomes its
layout. This was recently fixed in 1.2.0 (with the
`container-renderables` feature), but many applications already existed
that manually register their components (via `Ember.Handlebars.helper`).

This change allows usage of `template` and `templateName` properties on
a component, but generates a deprecation warning if you do so.
Merge pull request #3900 from rjackson/fix_manually_registered_components

[BUGFIX] Deprecate manually assigned templates for Components.