document some ember-testing helpers
add loc helper
Add tests for #1866 - loc helper
In mid-transition, `modelFor` accepts both camelCase and underscore naming

With facelift router, `modelFor` maintains backwards compatibility
to return a resolved model on a parent route even in mid-transition.
This PR fixes a bug where only the underscore version of a route name
yielded a value in mid transition.
Fix to support jQuery 1.7
Add lookupFactory
Make template loader an initializer

This makes it possible to have other initializers that are
relative to template loading from the DOM.
Add Ember.Control

An Ember.Control is a view that is completely
isolated. Property access in its templates go
to the view object and actions are targeted at
the view object. There is no access to the
surrounding context or outer controller; all
contextual information is passed in.

The easiest way to create an Ember.Control is via
a template. If you name a template
`controls/my-foo`, you will be able to use
`{{my-foo}}` in other templates, which will make
an instance of the isolated control.

```html
{{app-profile person=currentUser}}
```

```html
<!-- app-profile template -->
<h1>{{person.title}}</h1>
<img {{bindAttr src=person.avatar}}>
<p class='signature'>{{person.signature}}</p>
```

You can also use `yield` inside a template to
include the **contents** of the custom tag:

```html
{{#my-profile person=currentUser}}
<p>Admin mode</p>
{{/my-profile}}
```

```html
<!-- app-profile template -->

<h1>{{person.title}}</h1>
{{yield}} <!-- block contents -->
```

If you want to customize the control, in order to
handle events or actions, you implement a subclass
of `Ember.Control` named after the name of the
control.

For example, you could implement the action
`hello` for the `app-profile` control:

```js
App.AppProfileControl = Ember.Control.extend({
  hello: function(name) {
    console.log("Hello", name)
  }
});
```

And then use it in the control's template:

```html
<!-- app-profile template -->

<h1>{{person.title}}</h1>
{{yield}} <!-- block contents -->

<button {{action 'hello' person.name}}>
  Say Hello to {{person.name}}
</button>
```

Controls must have a `-` in their name to avoid
conflicts with built-in controls that wrap HTML
elements. This is consistent with the same
requirement in web components.
Ember.Control add inline docs
Fix wrong example

An empty '<option>' is not render until `prompt` is set.
Merge pull request #2862 from tricknotes/fix-wrong-example

Fix wrong example
 Ember.Select mark 0 as selected value (bugfix for #2763)
Merge pull request #2856 from tricknotes/fix-to-support-jquery-1.7

Fix to support jQuery 1.7
Merge pull request #2860 from teddyzeenny/ember-control

Ember.Control add inline docs
`control` helper more resilient.

Do not install model observers when `modelPath` is undefined.  An alternative
approach would be to default `modelPath` to "model".

Fix #2268.
Merge pull request #2863 from hjdivad/fix-2268

`control` helper more resilient.
Trigger parentViewDidChange event. Fixes #2423
Add test for parentViewDidChange event.
Merge pull request #2858 from chrmod/master

Ember.Select mark 0 as selected value
Merge pull request #2855 from machty/model-for-fix

In mid-transition, `modelFor` accepts both camelCase and underscore naming