Avoid a DOM error when attempting to render a control with tag: null.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton <gray.norton@lge.com>
Add support for "rebuilding" bindings. A rebuild is just like a refresh, except that the binding tries to rediscover its source and property from the provided paths instead of remembering them from the previous setup.

Adding this functionality to support the case where a view's controller changes after bindings have been set up. In this case, simply refreshing the binding is not enough, since it will still be pointing to the old controller.

In adding a new method (as opposed to just changing refresh), I'm assuming that there are other cases where it's OK (and more performant) to remember the source and target.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton <gray.norton@lge.com>
Avoid searching for the new controller if it's the same one we already had.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton <gray.norton@lge.com>
Rebuild (rather than simply refresh) bindings when our controller has changed.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton <gray.norton@lge.com>
In DataRepeater, override the controllerFindAndInstance callback instead of the _controller_changed observer.

The purpose of this code is to give us a hook to refresh the DataRepeater after its controller changes, but we were refreshing too early (in some cases before the new controller had been found). If we refresh in the callback, we know we have our new controller.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton <gray.norton@lge.com>
Merge pull request #279 from enyojs/graynorton-binding-controllers

Fix issues encountered when binding controllers. Fix null-tag render bug.

Reviewed-By: Ben Combee (ben.combee@lge.com)