Adding regression test
Make router's render idempotent

This change prevents us from tearing down and recreating a view when
the new view is functionally identical to the old view.

This has important benefits:

 - when you're changing context within a route, the view itself
   remains stable, and the controller has full control over how and
   when to update the data it's presenting to the view
   layer. (Previously, you got a forced re-render immediately whether
   you were ready for it or not.)

 - when you're changing between routes, you can decide to keep the
   prior view in place, and replace it later when you're ready. (Think
   animated transitions between routes.)

This supercedes the proposed changes in PR #2563 (which has already
been reverted).
Clean up pendingDisconnections propertly
Fixed small typo
Removed duplicate test for normalizeTuple
Merge pull request #2641 from intuitivepixel/master

Fixed small typo, and simplified comment.
Merge pull request #2643 from machty/dup-tuple-test

Removed duplicate test for normalizeTuple
Fix docs to use extend instead of create when setting observers
Merge pull request #2648 from teddyzeenny/object-observable

Fix docs to use extend instead of create when setting observers
Replace Ember.RunLoop with Backburner.js
Revert "Replace Ember.RunLoop with Backburner.js"

This reverts commit a8b6e3042244af1dd315e94c9349722450bca301.
Fix test module name

This module is 'sync_test' not 'schedule_test'.
Remove unused variables and helper function
Rewrite `EMBER_VERSION` with `Ember::VERSION`

This commit is leak of 451f24c4.
Merge pull request #2654 from tricknotes/rewrite-constant-for-ember-version

Rewrite `EMBER_VERSION` with `Ember::VERSION`
Merge pull request #2653 from tricknotes/remove-unused

Remove unused variables and helper function
Merge pull request #2652 from tricknotes/fix-test-module-name

Fix test module name
Ember testing capture exceptions thrown in promises
Merge pull request #2628 from teddyzeenny/testing-exceptions

Ember testing capture exceptions thrown in promises
Fix undefined error when promise rejected on startup

Router#targetHandlerInfos is not initialized when a
promise is rejected on startup, causing error
in Router#isActive