Consider `controllerName` in Ember.Route#render()

The previously introduced `controllerName` on a route hasn't been
considered when resolving the controller which shall be used within
`Ember.Route#render()`.
Smallish Controller docs cleanup
Remove Ember.Button from YUIDoc output.
Fix finicky YUIDoc Markdown.
Merge branch 'master' into api-documentation-audit

Conflicts:
	packages/ember-application/lib/ext/controller.js
	packages/ember-runtime/lib/ext/function.js
Merge pull request #3082 from trek/api-documentation-audit

documentation audit
Failing Test:

Replacing large arrays with a large quantity of object fails in various
browsers.

This manifests when navigating to a route which fetches a large array,
and sets it on the controller.

Ember.ArrayController.create(}.set('content', new Array(100000));
Fix `Ember.EnumerableUtils#replace` to allow large size of array
Extract replace logic as `Ember.EnumerableUtils._replace`
fix typo pointed out in https://github.com/emberjs/ember.js/pull/3186#discussion_r5989381
Change docs to mention `setUnknownProperty`

The docs incorrectly said that `unknownProperty` would be called when setting an unknown property.
Smarter linkTo observers

Minor refactor to clean up some linkTo code and fix an inconsistency
whereby `{{linkTo 'elsewhere' this}}` would not automatically update
when the present route's ObjectController's content would change,
since the `this` was only watching the ObjectController, and not its
proxied content object. There was already code that special cased
the resolution of ObjectControllers' content, but it was missing from
the code that sets up the observers; now the same code is shared between
both code paths. Hooray.

Also removed the short-lived and probably unnecessary flag
HELPER_PARAM_LOOKUPS, which was only used for the linkTo,
and enabled linkTo parameters, routeName included, to be
bound paths when unquoted.

Thanks to @abahdanovich for pointing this out.
Added Ember.getProperties

`getProperties` has always existed on `Ember.Object`'s prototype, but
it's been unavailable as a utility function to use on POJO's.
Now `Ember.getProperties` can be used with non `Ember.Object`s, e.g.

    var obj = { foo: 5, bar: 6, baz: 7 };
    Ember.getProperties(obj, 'foo', 'bar'); // => { foo: 5, bar: 6 }
    // equivalent to
    Ember.getProperties(obj, ['foo', 'bar']); // => { foo: 5, bar: 6 }
Update ember-dev to allow for stable builds.
updated ember-testing integration tests to show multiple scenarios
Merge pull request #3212 from toranb/master

updated ember-testing integration tests to show multiple scenarios
Merge pull request #3210 from rjackson/allow_stable_builds

Update ember-dev to allow for stable builds.
Merge pull request #3208 from machty/ember-get-properties

Added Ember.getProperties
Sync router.js
Additional documentation for ember-metal/lib/computed.