[BUGFIX beta] When selecting controller for view prioritize controllerName over
controller matching template or route name
[BUGFIX beta] Preserve ability to render alternate controller matching template if
controllerName is specified.

Controller precendence for render is as follows:
* explicitly passed controller always has top precedence
* if name explicitly passed, prioritize name over controllerName
* prioritize controllerName when no explicit name
* fall back on routeName
[BUGFIX beta] Force remove `required` attribute for IE8

In IE8, `elem.prop('required', '')` couldn't remove attribute.
(This problem is occured at `required` only. Other attributes work as our
expectation.)

``` javascript
view.set('required', false);
view.$().get(0).outerHTML; // this includes `required` attribute.
```

To remove attribute, `removeProp` is needed.
Revert #3218, add deprecation notice for global Handlebars lookups.
Close #5088 - Fix usage of document.body.contains, check if browser supports this method(ex. ff 3.6)
Fix {{#with view.foo as bar}}

The `with` helper can correctly bind through the `view` keyword when
it's used like this:

    {{#with view.foo}}

But the binding is broken if you try it like this:

    {{#with view.foo as bar}}

This change fixes it.
Deprecate edge-case get and normalizeTuple behavior ahead of #3852

PR #3852 changes some edge case behavior for get and normalizeTuple. Ahead
of those changes, this commit introduces deprecation notices.

  * Deprecate get for local paths on global contexts, only if they
    return data.
  * Deprecate normalizeTuple calls that return a non-global contenxt
    and a simple global path.
debug log handlebars-runtime
[BUGFIX beta] wrap es3 keywords in quotes

But only for production builds.

closes GH-5128
[BUGFIX beta] Fixed broken import of `generateController`
[BUGFIX beta] Add global API tests.

This just adds the basic layout/structure to add tests to confirm we
have no further regeressions.
Merge pull request #5134 from rjackson/add-global-api-tests

Export generateController and add regression test.
Fix Global's API test.

When using strict mode, this is not always defined properly. This just
uses `window`.
[DOC] Update CONTRIBUTING.md for commit prefixes and feature flags
Merge pull request #5137 from amiel/contributing-updates

[DOC] Update CONTRIBUTING.md for commit prefixes and feature flags
upgrade es3-safe-recast to not be broken :)
Merge pull request #2 from stefanpenner/pr/5131

upgrade es3-safe-recast to not be broken :)
Merge pull request #5131 from fivetanley/es3saferecast

wrap es3 keywords in quotes in production builds
Ensure files are served through Broccoli middleware
Merge pull request #5139 from mmun/patch-2

Ensure files are served through Broccoli middleware