ensure all public API's of the container are correctly normalized and validated.

Also ensure internal usages are not validated nor re-normalized.
Use imported handlebars before global Handlebars

Prioritizing the global Handlebars causes problems in environments with multiple versions of Handlebars. One should be able to import a desired version.
[beta] Adds a named function
[beta] name anon helper fns

Again, this is all actively driven by sad debugging
experiences. Not everything needs a name but debugging
helper invocations is common enough.
[beta] better link-to error for invalid dest routes

The previous way always appended '.index' to the
invalid route name you supplied. This new way
is way more clear.
Merge pull request #3909 from twokul/error-stack-bubbleEvent

Adds a named function
adds more tests

Conflicts:
	packages/container/tests/container_test.js
Merge pull request #3885 from stefanpenner/tighten-up-container

ensure all public API's of the container are correctly normalized and va...
[beta] Reintroducing nice unhandled action error

I'd removed a similar assertion message in 160a41cf4b because
it wasn't totally correct, but this version
correctly mentions that the error could have
originated from a bubbling controller action.
Merge pull request #3910 from aaronshaf/patch-1

Prioritize imported Handlebars over global Handlebars
[BUGFIX beta] Ensure that the rootURL is available to location.

The refactoring in #3752 caused the rootURL to not be passed at
initialization time to the location implementation. This change reverses
that by injecting the `router:main` into the newly created location
instance.

The tests were also refactored:

* Split HistoryLocation tests out from the router basic tests.
* Ensure that we are testing the right thing in router tests (ensuring
  that the rootURL is available to the location implementation).
* Fixed issue with existing rootURL check that made the test pass
  due to the fact that the default rootURL (`/`) just happens to be the
  rootURL while running the test via `rackup`.

Resolves: https://github.com/emberjs/ember-dev/issues/115
Merge pull request #3915 from rjackson/fix_history_state_root_url

[BUGFIX beta] Ensure that the rootURL is available to location.
Container#resolve is now cached.

- once resolved, a later resolve of the same fullName should not yield a new resolution
- once resolved, a later resolve should not needless query the Resolver, as this can be costly, and is wasteful.
Merge pull request #3918 from stefanpenner/add-resolve-cache-to-container

Container#resolve is now cached.