[Bugfix] Container.options populate options

As has been highlighted here: https://github.com/emberjs/ember.js/issues/9371 Container.options was actually populating the _optionsForType object.

I assume that Container.options should only set the options for a given factory specified by its full name, rather than by type, so the code and the test apply/verify that logic.
cleanup core object init argument passing

- don't allocate new array if no arguments exist
- don't do costly apply, if there are not multiple (or any) arguments to apply to

test run stats:

1 arguments 10153
2 arguments   490
3 arguments     0
4 arguments     5

(yes apps may use this differently, but ultimately the 1 argument case is the most common, and most hot-paths are in ember-corec)
Remove unused container method set()
Remove old debugStatements.
Avoid if statements useful only for Ember.deprecate calls.
Merge pull request #9564 from oneeman/master

Remove unused container method set()
Merge pull request #9561 from stefanpenner/cleanup-init

cleanup core object init argument passing
Merge pull request #9562 from simi/remove-useless-comments

Remove old debugStatements.
Merge pull request #9559 from mmolina/issue-9371-containeroptions

[Bugfix Beta] Container.options populate options
Merge pull request #9569 from simi/little-deprecate-audit

Avoid if statements useful only for Ember.deprecate calls.
Add deprecation for old usages of cachable and readOnly in CPs

* Passing opts.cacheable to the constructor of ComputedProperty is deprecated
* Passing opts.readOnly to the constructor of ComputedProperty is deprecated
* Invoking `cacheable` in a computed property is preprecated.
* Invoking `readOnly` with aany params in a computed property is deprecated.
* Make InjectedProperty inherit `readOnly` from CPs prototype
RFC: Improved CP Syntax

Deprecate the usage of a function as both getter and setter